function ClearDefaultText(FormElement){
    if(FormElement){
        if(FormElement.title){
            if(FormElement.title==FormElement.value) FormElement.value="";
        }
    }
}

function CloseLeaveSiteDialog(){
    var oDiv=document.getElementById("GlobalLeaveSiteLayer");
    if(oDiv){
        oDiv.style.display="none";
    }
}

function LeaveSite(sUrl){
    var oDiv=document.getElementById("GlobalLeaveSiteLayer");
    if(!oDiv){
        var oDiv=document.createElement("div");
        oDiv.id="GlobalLeaveSiteLayer";
        oDiv.style.display="none";
        document.body.appendChild(oDiv);
    }
    var sHtml="<div id=\"GlobalLeaveSiteLayerTop\">" +
            "<div id=\"GlobalLeaveSiteLayerClose\"><a href=\"javascript:CloseLeaveSiteDialog()\"><img src=\"/images/leave-site/leavesite-close.gif\" width=\"67\" height=\"16\" /></a></div>" +
        "</div>" +
        "<div id=\"GlobalLeaveSiteLayerContent\">&nbsp;" +
            "<div id=\"GlobalLeaveSiteLayerText\">" +
                "<b>You are leaving the Honda Automobile Web Site.</b>" +
                "<br /><br />" +
                "The following link is an independent site.<br />" +
                "American Honda Motor Co. Inc., is not responsible for the content presented by any independent Web site, including advertising claims, special offers, illustrations, names or endorsements." +
                "<br /><br />" +
                "Click the link to continue:<br />" +
                "<div class=\"DottedLink\"><a href=\"" + sUrl + "\" target=\"_blank\" onclick=\"CloseLeaveSiteDialog()\">" + sUrl + "</a></div>" + 
                "<br /><br />" +
                "<a href=\"javascript:CloseLeaveSiteDialog()\" onmouseover=\"SwitchImg('GlobalLeaveSiteCancelButton', '/images/_global/buttons/btn-cancel-over.gif')\" onmouseout=\"SwitchImg('GlobalLeaveSiteCancelButton', '/images/_global/buttons/btn-cancel-off.gif')\"><img src=\"/images/_global/buttons/btn-cancel-off.gif\" id=\"GlobalLeaveSiteCancelButton\" width=\"86\" height=\"21\" /></a>" +
            "</div>" +
        "</div>" +
        "<div id=\"GlobalLeaveSiteLayerBottom\"><img src=\"/images/leave-site/leavesite-bottom.gif\" width=\"569\" height=\"14\" /></div>";
    oDiv.innerHTML=sHtml;
    var x=0;
    var y=0;
    var ScrollX=0;
    var ScrollY=0;
    if( typeof( window.innerWidth ) == 'number' ) {
        x = window.innerWidth;
        y = window.innerHeight;
      } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
        x = document.documentElement.clientWidth;
        y = document.documentElement.clientHeight;
      } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
        x = document.body.clientWidth;
        y = document.body.clientHeight;
      }
      if( typeof( window.pageYOffset ) == 'number' ) {
        ScrollY = window.pageYOffset;
        ScrollX = window.pageXOffset;
      } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
        ScrollY = document.body.scrollTop;
        ScrollX = document.body.scrollLeft;
      } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
        ScrollY = document.documentElement.scrollTop;
        ScrollX = document.documentElement.scrollLeft;
      }
      oDiv.style.top=(y/2)-(288/2)+ScrollY;
      oDiv.style.left=(x/2)-(569/2)+ScrollX;
      oDiv.style.display="";
    return false;
}

function OnLoadAppend(FunctionCall){
    OnLoadFunctions[OnLoadFunctions.length]=FunctionCall;
}
function OnLoadExecute(){
    for(var i=0; i<OnLoadFunctions.length; i++){
        eval(OnLoadFunctions[i]);
    }
}

function ReturnToLastPage(){
    var sUrl=GetCookie("CurrentURL");
    if(sUrl!="" && sUrl!=null){
        top.location.href=sUrl;
    }else{
        // Redirect user to home page in http since this page may be in https
        sURL = 'http://' + document.location.host + '/';
        top.location.href = sURL;
    }
}

function SwitchImg(ImageName, ImageSrc){
    if(document.getElementById){
        var ImageObj=document.getElementById(ImageName);
        if(ImageObj){
            ImageObj.src=ImageSrc;
        }
    }
}

function SetCookie(name, value , oDate) {
    document.cookie = name + "=" + escape( value ) + ";path=/" +
        ( (oDate) ?  ";expires=" + oDate.toString() : "" );
}

function GetCookie(name) {
  var cookie=document.cookie;
  var start=cookie.indexOf(name+"=");
  if(start>=0) 
  {
  	var end = document.cookie.indexOf(";", start);
    if (end == -1) end = cookie.length;
  	return unescape(cookie.substring(start + name.length+1,end));
  }
  else return null;
}

// This function will allow a value to be added/replaced in the "CurrentURL" cookie asynchronously
function SetReturnURLParam(name,value)
{
    var rurl=GetCookie("CurrentURL");
    if(rurl.indexOf("?")>0)
	{
		var urlpart=rurl.split("?")[0];
		var nvarray=rurl.split("?")[1].split("&");
		var finalqs="";
		var found=false;
		for(i=0;i<nvarray.length;i++)
		{
			if(nvarray[i].indexOf(name+"=")==0)
			{
				nvarray[i]=name+"="+value;
				found=true;
			}
			if(nvarray[i].length>0) finalqs+=nvarray[i]+"&";
		}
		if(!found) finalqs+=name+"="+value;
		else finalqs=finalqs.substring(0,finalqs.length-1);
		rurl=urlpart+"?"+finalqs;
	}
    else rurl=rurl+"?"+name+"="+value;

    if(!OverrideCookie) SetCookie("CurrentURL",rurl);
    PageURL = rurl;
}

var OnLoadFunctions=new Array();
window.onload=OnLoadExecute;

// Set the "CurrnetURL" cookie to the page's current URL
if(typeof(OverrideCookie)=="undefined") OverrideCookie=false;
if(!OverrideCookie) SetCookie("CurrentURL" , location.href);
var PageURL = location.href;


// In a lot of places, the Model Name is concatenated with the Trim Name
// (e.g. Accord Sedan LX). In some places, the Model Name is repeated in the
// trim name (e.g. Accord Hybrid Hybrid). This function will look for words in the
// Model Name within the Trim Name and remove them (so Accord Hybrid Hybrid becomes
// Accord Hybrid).
function DedupeModelTrim(sModelName , sTrimName) {
 
    // Split ModelName into individual words
    var aModelWords = sModelName.split(" ");
    
    // Split TrimName into individual words
    var aTrimWords = sTrimName.split(" ");
    
    // Loop through all words in the trim name and see if they match any words in the model name.
    // If they do, remove them from the trim name
    for (var iTrimCount = 0; iTrimCount < aTrimWords.length; iTrimCount++) {
        for (var iModelCount = 0; iModelCount < aModelWords.length; iModelCount++) {
            if (aTrimWords[iTrimCount].toLowerCase() == aModelWords[iModelCount].toLowerCase()) {
                aTrimWords[iTrimCount] = '';
            }
        }
    }
    
    sTrimName = aTrimWords.join(" ");
   

 
    return sTrimName;
}


function GetQueryStringParamValue(parameter) {
		
		var sLocation = location.href;
		var value;
		var index = sLocation.indexOf(parameter + '=');
		
		if ( index < 0){
			value = "";
		}
		else{
			value = sLocation.substring(index+parameter.length+1, sLocation.length);
			
			if ( value.indexOf('&') > -1){
				value = value.substring(0, value.indexOf('&'));
			}
		}
		
		return value;
}

function TagRand() {
    return Math.floor(Math.random()*60000);
}

/* ------- Geo Targeting ------ */
// GetUserZip takes a parameter, bUseGeotargeting - This will determine if geotargeting should be done on the user or not if the ZIP code cookie is not present.
function GetUserZip(bUseGeotargeting){
    var customerzip = null;
    
    customerzip = GetCookie("customerzip");
    var iptargeted = GetCookie("iptargeted")
    if (customerzip == "null" || customerzip == null) {
        customerzip = '';
    }


    if ( (customerzip == '') && (!iptargeted) && (bUseGeotargeting) ) {       
        $.ajax({
            url:        "/handlers/tools/shopping/getuserzip.ashx",
            timeout:    10000,
            async:      false,
            complete:   function(XMLHttpRequest, textStatus){
                            if (textStatus == "success"){
                                // Set cookie to indicate that IP address was geotargeted so we don't have to call the service over and over if no ZIP was located.
                                SetCookie("iptargeted", "true");
                                customerzip = XMLHttpRequest.responseText;
                                // Only set cookie if a zip was found                                
                                if ( (customerzip != null) && (customerzip != "null") && (customerzip != "") ) {
                                    SetUserZip(customerzip);
                                }
                            }
                        }
        });
    }
    
    return (customerzip == "null" || customerzip == null) ? "" : customerzip;

}

function SetUserZip(sUserZip) { 
    var oDate = new Date();
    oDate.setDate(oDate.getDate() + 30); //30 day duration                                
    SetCookie("customerzip", sUserZip , oDate); 
}

Array.prototype.remove = function(from, to) {
  var rest = this.slice((to || from) + 1 || this.length);
  this.length = from < 0 ? this.length + from : from;
  return this.push.apply(this, rest);
};

Array.prototype.contains = function(element){
    for(var i=0;i<this.length;i++){
        if (this[i] == element){ return true; }
    }
    return false;
};



function documentDotLocation(sLocation) {
      var oBody = document.getElementsByTagName("body")[0];
      var oNewDiv = document.createElement('div');
      oNewDiv.innerHTML = '<a href="' + sLocation +'" id="HiddenClickDiv">_</a>';
      oNewDiv.setAttribute('style' , 'visibility: hidden');

      oBody.appendChild(oNewDiv);

      var oDiv = document.getElementById('HiddenClickDiv');

      // Firefox doesn't seem to support click(), but it does support referrer
      if (oDiv.click) {
            oDiv.click();
      } else {
            document.location = sLocation;
      }
}


//OnMouseOut will be falsely triggered if you're mousing to a child of the element
//that has fired the OnMouseOut.  However, you probably only want the event fired
//if the user is leaving the whole control, not the literal element.  Pass the event
//and the ID of the element containing the event, and this function will return 'true'
//if the mouse has really left the control (and all its children).
function IsNotAChildOf(e, potentialParentID){
    var toElement = (e.relatedTarget) ? e.relatedTarget : e.toElement;
    if (toElement){
        var parent = toElement.parentNode;
        while (parent && parent.nodeName != "BODY" && parent.id != potentialParentID){
            parent = parent.parentNode;
        }
        if (parent && parent.id != potentialParentID){
            return true;
        }
    }
    return false;
}




function GetCarImageSize(sSrc , iWidth , iHeight) {

    aSrcParts = sSrc.split("/");

    if (aSrcParts[1] != "images") {
        return sSrc;
    }

    // We only have new paths for 2009 cars and beyond
    if ( (!parseInt(aSrcParts[2])) || (aSrcParts[2] < 2009) ) {
        return sSrc;
    }
    

    // 500x450: Default size for base cars and accessory overalys
    if ( (iWidth == 500) && (iHeight == 450) ) {
        return sSrc;
    }
    
    // 300x245: Accessories for 300x200 base cars
    if ( (iWidth == 300) && (iHeight == 245) ) {
        aSrcParts[4] = 'configurations';
        aSrcParts[5] = 'accessories';
        var sTmp = aSrcParts[aSrcParts.length - 1];
        aSrcParts[aSrcParts.length - 1] = "300x245";
        aSrcParts[aSrcParts.length] = sTmp;
        var sTmp = aSrcParts[aSrcParts.length - 1];
        sTmp = sTmp.replace(".jpg" , ".png");
        aSrcParts[aSrcParts.length - 1] = sTmp;
        sSrc = aSrcParts.join("/");
        return sSrc;
    }

    // 300x200: Base cars
    if ( (iWidth == 300) && (iHeight == 200) ) {
        aSrcParts[4] = 'configurations';
        aSrcParts[5] = 'base-cars';
        var sTmp = aSrcParts[aSrcParts.length - 1];
        sTmp = sTmp.replace(".png" , ".jpg");
        aSrcParts[aSrcParts.length - 1] = "300x200";
        aSrcParts[aSrcParts.length] = sTmp;
        sSrc = aSrcParts.join("/");
        return sSrc;
    }

   // 140x90: Base cars
    if ( (iWidth == 140) && (iHeight == 90) ) {
        aSrcParts[4] = 'configurations';
        aSrcParts[5] = 'base-cars';
        var sTmp = aSrcParts[aSrcParts.length - 1];
        sTmp = sTmp.replace(".png" , ".jpg");
        aSrcParts[aSrcParts.length - 1] = "140x90";
        aSrcParts[aSrcParts.length] = sTmp;
        sSrc = aSrcParts.join("/");
        return sSrc;
    }

}


function SubSelection(TargetSelector,SelectorName) {
   var SelectedValue = document.getElementById(SelectorName).value;
   var thisSelected;
   clearOption(document.getElementById(SelectorName));
     for (var i=document.getElementById(TargetSelector).selectedIndex; i < document.getElementById(TargetSelector).options.length;i++){
       thisSelected = ( document.getElementById(TargetSelector).options[i].value == SelectedValue ? true : false )
       addOption(document.getElementById(SelectorName), document.getElementById(TargetSelector).options[i].text,document.getElementById(TargetSelector).options[i].value,thisSelected);
    }
}

function clearOption(selectbox){
  for (var i=selectbox.options.length-1; i>=0; i--){
    selectbox.options[i] = null;
  }
  selectbox.selectedIndex = -1;
}

function addOption(selectbox,text,value,selected) {
    var optn = document.createElement("option");
    optn.text = text;
    optn.value = value;
    if(selected == true) {
        optn.selected = true;
    }
    selectbox.options.add(optn);
}

function DataControl(){
    this.FormatDate=function(InputString){
        var Validator=new Validation();
        if(!Validator.IsDate(InputString)){
            alert("DataControl: Input is not a date.");
            return null;
        }
        InputString+="";
        var NewDate=new Date(InputString);
        var ReturnString=(NewDate.getMonth()+1) + "/" + NewDate.getDate() + "/" + NewDate.getFullYear();
        return ReturnString;
    }
    this.FormatPhone=function(InputString){
        var Validator=new Validation();
        if(!Validator.IsPhone(InputString)){
            alert("DataControl: Input does not contain a valid phone number.");
            return null;
        }
        var ReturnString=this.GetNumbersOnly(InputString);
        if(ReturnString.length==7){
            ReturnString=ReturnString.substring(0, 3) + "-" + ReturnString.substring(3, 7);
        }
        if(ReturnString.length==10){
            ReturnString="(" + ReturnString.substring(0, 3) + ") " + ReturnString.substring(3, 6) + "-" + ReturnString.substring(6, 10);
        }
        return ReturnString;
    }
    this.FormatZip=function(InputString){
        var Validator=new Validation();
        if(!Validator.IsZip(InputString)){
            alert("DataControl: Input does not contain a valid ZIP code.");
            return null;
        }
        var ReturnString=this.GetNumbersOnly(InputString);
        if(ReturnString.length==9){
            ReturnString=ReturnString.substring(0, 5) + "-" + ReturnString.substring(5, 9);
        }
        return ReturnString;
    }
    this.GetAlphaNumbersOnly=function(InputString){
        InputString+="";
        var re=new RegExp("\\W", "gi");
        var ReturnString=InputString.replace(re, "");
        return ReturnString;
    }
    this.GetNumbersOnly=function(InputString){
        InputString+="";
        var re=new RegExp("\\D", "gi");
        var ReturnString=InputString.replace(re, "");
        return ReturnString;
    }
    this.GetCurrencyNumbersOnly=function(InputString){
        InputString+="";
        var re=new RegExp("\\$|,", "gi");
        var ReturnString=InputString.replace(re, "");
        return ReturnString;
    }    
    this.ReplaceInvalidSqlChar=function(InputString){
        return InputString;
    }
    this.Trim=function(InputString){
        InputString+="";       
        var re=new RegExp("^\\s+");
        var ReturnString=InputString.replace(re, "");
        var re=new RegExp("\\s+$");
        ReturnString=ReturnString.replace(re, "");
        return ReturnString;
    }
    this.FormatCurrency=function FormatCurrency(sNum) {
        sNum = sNum.toString().replace(/\$|\,/g,'');
    	
        if(isNaN(sNum))
	        sNum = "0";
    	
        var sTemp = sNum;
    	
        var bSign = (Number(sNum) == (sNum = Math.abs(sNum)));
        sNum = Math.floor(sNum*100+0.50000000001);
        var sCents = sNum%100;
        sNum = Math.floor(sNum/100).toString();
    	
        if(sCents<10)
	        sCents = "0" + sCents;

        for (var i = 0; i < Math.floor((sNum.length-(1+i))/3); i++)
	        sNum = sNum.substring(0,sNum.length-(4*i+3))+ ',' + sNum.substring(sNum.length-(4*i+3));

        return (((bSign)?'':'-') + '$' + sNum + '.' + sCents);
    }    
}

function Validation(){
    var StatesXml=null;
    
    this.GetStatesXml=function(){
        if(StatesXml==null){
            if(document.implementation && document.implementation.createDocument){
                StatesXml=document.implementation.createDocument("", "", null);
                StatesXml.async=false;
            }else if(window.ActiveXObject){
                StatesXml=new ActiveXObject("Microsoft.XMLDOM");
                StatesXml.async=false;
                while(StatesXml.readyState!=4){}
            }else{
                alert("Validation: Browser does not support XML.");
            }
            StatesXml.load("http://automobiles.honda.com/config/states.xml");
        }
        return StatesXml;
    }
    this.HasInvalidSqlChar=function(InputString){
        if(this.IsEmpty(InputString)) return false;
        InputString+="";
        var DataController=new DataControl();
        var CompareString=DataController.ReplaceInvalidSqlChar(InputString);
        var SameLength=true;
        if(CompareString.length==InputString.length) SameLength=false;
        return SameLength;
    }
    this.IsAlphaNumeric=function(InputString){
        if(this.IsEmpty(InputString)) return false;
        InputString+="";
        var DataController=new DataControl();
        var CompareString=DataController.GetAlphaNumbersOnly(InputString);
        var AlphaNumeric=false;
        if(CompareString.length==InputString.length) AlphaNumeric=true;
        return AlphaNumeric;
    }
    this.IsDate=function(InputString){
        if(this.IsEmpty(InputString)) return false;
        InputString+="";
        var NewDate=new Date(InputString);
        var ValidDate=true;
        if(NewDate.getFullYear().toString()=="NaN") ValidDate=false;
        return ValidDate;
    }
    this.IsEmail=function(InputString){
        if(this.IsEmpty(InputString)) return false;
        InputString+="";
        var ValidEmail=false;
        var re=new RegExp("^.+@[^\\.].*\\.([a-z]|[A-Z]){2,}$", "gi");
        if(InputString.match(re)) ValidEmail=true;
        
        // Check to see if address has a comma in it
        if (InputString.indexOf(',') >= 0) {
            ValidEmail = false;
        }
        return ValidEmail;
    }
    this.IsEmpty=function(InputString){
        var undefined, EmptyFlag=false;
        if(InputString==null) EmptyFlag=true;
        if(InputString==undefined) EmptyFlag=true;
        if(InputString=="") EmptyFlag=true;
        return EmptyFlag;
    }
    this.IsInArray=function(InputArray, Input){
        var Found=false;
        for(var i=0; i<InputArray.length; i++){
            if(InputArray[i]==Input) Found=true;
        }
        return Found;
    }
    this.IsLength=function(InputString, InputLength){
        var Shorter=false;
        if(this.IsEmpty(InputString)){
            if(InputLength>=0) return true;
            return false;
        }
        InputString+="";
        if(InputString.length<=InputLength) Shorter=true;
        return Shorter;
    }
    this.IsNumeric=function(InputString){
        if(this.IsEmpty(InputString)) return false;
        InputString+="";
        var DataController=new DataControl();
        var CompareString=DataController.GetNumbersOnly(InputString);
        var Numeric=false;
        if(CompareString.length==InputString.length) Numeric=true;
        return Numeric;
    }
    this.IsNumericDecimal=function(InputString) {
      return /^[-]?([1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|\.[0-9]{1,2})$/.test(InputString);
    }
    this.IsCurrency=function(InputString) {
        return /^\$?\-?([1-9]{1}[0-9]{0,2}(\,\d{3})*(\.\d{0,2})?|[1-9]{1}\d{0,}(\.\d{0,2})?|0(\.\d{0,2})?|(\.\d{1,2}))$|^\-?\$?([1-9]{1}\d{0,2}(\,\d{3})*(\.\d{0,2})?|[1-9]{1}\d{0,}(\.\d{0,2})?|0(\.\d{0,2})?|(\.\d{1,2}))$|^\(\$?([1-9]{1}\d{0,2}(\,\d{3})*(\.\d{0,2})?|[1-9]{1}\d{0,}(\.\d{0,2})?|0(\.\d{0,2})?|(\.\d{1,2}))\)$/.test(InputString);
    }
    this.IsPhone=function(InputString){
        if(this.IsEmpty(InputString)) return false;
        InputString+="";
        var DataController=new DataControl();
        var PhoneString=DataController.GetNumbersOnly(InputString);
        var PhoneNumber=false;
        if(PhoneString.length==10) PhoneNumber=true;
        return PhoneNumber;
    }
    this.IsState=function(InputString){
        if(this.IsEmpty(InputString)) return false;
        InputString+="";
        var States=this.GetStatesXml();
        if(document.implementation && document.implementation.createDocument){
            var Evaluator=new XPathEvaluator();
            var XPathQuery="//*[@abbrev='" + InputString + "']";
            var StateNode=Evaluator.evaluate(XPathQuery, States.documentElement, null, XPathResult.ANY_UNORDERED_NODE_TYPE, null);
            if(StateNode.singleNodeValue!=null) return true;
            return false;
        }else if(window.ActiveXObject){
            var StateNode=States.selectSingleNode("//*[@abbrev='" + InputString + "']");
            if(StateNode!=null) return true;
            return false;
        }
        return false;
    }
    this.IsZip=function(InputString){
        if(this.IsEmpty(InputString)) return false;
        InputString+="";
        var DataController=new DataControl();
        var ZipString=DataController.GetNumbersOnly(InputString);
        var ZipCode=false;
        if(ZipString.length==5 || ZipString.length==9) ZipCode=true;
        return ZipCode;
    }
}

/*
 * jQuery JavaScript Library v1.3.2
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */
(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
/*
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();

// JScript File
// Calculator functuions.

function UpdateTrim() {
    modelname = $('#ModelSelector option:selected').val();
    if (modelname == 0) {
        $("#ModelInfoSelect").hide();
        document.getElementById("ttlTransmission").style.display = 'none';
        document.getElementById("tblTransmission").style.display = 'none';
        helpLevel = 0;
        return false;
    }

    productGroupName = models[document.getElementById('ModelSelector').selectedIndex -1][0];
    productyear = models[document.getElementById('ModelSelector').selectedIndex - 1][1];
    $("#mainCopy").hide();
    $("select").attr("disabled","disabled");
    $("#offersContainer").slideUp("normal", function() { $("#calculatedContainer").slideUp("normal",function() { 
        $("#loaderScreen").fadeIn("normal", function() { 
            $("#jsblock").load('/handlers/tools/shopping/GetProductLineJSArray.ashx?ModelName=' + escape(modelname) + '&ModelYear=' + productyear + '&showcar=false',function(data) {
                clearOption(document.getElementById("TrimSelector"));
                for (var i=0; i < trimList.length;++i){
                var text = trimList[i][0].replace("&#153;","™");
                text = text.replace("<sup>","");
                text = text.replace("&trade;","™");
                text = text.replace("</sup>","");
                addOption(document.getElementById("TrimSelector"), text,i);
                }
            
                if (modelid.length > 0) {
                
                var trimIndex = 0;
            for (var i=0;i<modelList.length;i++) {
                if (modelid.toLowerCase() == modelList[i][1].toLowerCase()) {
                    trimIndex = modelList[i][0];
                }
            }
            $("#TrimSelector option[index='"+trimIndex+"']").attr('selected', 'selected');
            }
            updateTransmission();
       }); 
    });});});
    }
    function updateTransmission() {
        ModelListIndex = -1;
        document.getElementById("ttlTransmission").style.display = '';
        document.getElementById("tblTransmission").style.display = '';
        trimID = $('#TrimSelector option:selected').val();
        var transmissionText = '<table style="font-size:12px;" cellpadding="0" cellspacing="0"><tr>';
        TempModels = new Array();
        var k = 0;
        for (var m=0; m<modelList.length;++m) {
            if (modelList[m][0] == trimID) {
            if (ModelListIndex == -1) {
                ModelListIndex = m;
            }
            TempModels[k] = modelList[m];
            k++;
            }
        }
        var TransIndex = 0;        
        for (var i=0; i < TempModels.length;++i){
            if (modelid.toLowerCase() == TempModels[i][1].toLowerCase()) {
               TransIndex = i;
            }        
            transmissionText += '<td><input id="transOptions" name="transOptions" '
            if (i == TransIndex) {
            transmissionText += 'checked'
            }
            transmissionText += ' type="radio" onclick="SetModelInfo('+i+');" value="' + TempModels[i][1] + '" /></td>';
            transmissionText += '<td>' + TempModels[i][4] + '</td>';
            transmissionText += "</tr><tr>";
            
        }
         transmissionText += '</tr></table>' ;
        document.getElementById("tblTransmission").innerHTML = transmissionText;
        SetModelInfo(0);
        postOffers($('#transOptions:checked').val());
    }
    
    function postOffers(mID,modelname,hcuc) {
        $("#offerBlock").load('/handlers/tools/shopping/current-offer-modelid.ashx?ModelID=' + mID + '&type=' + hcuc + '&modelname=' + escape(modelname),function(data) { 
            lResults = new Array();
            fResults = new Array();
            for(var i=0; i < offersList.length; i++) {
                if(offersList[i][9] == 'finance') {
                    fResults[fResults.length] = offersList[i];
                }
                else {
                    lResults[lResults.length] = offersList[i];
                }
            }
            switch(lResults.length) {
            case 0:
                $("#leaseControls").hide();
                $("#leaseOfferContent").html("See your local dealer for available lease offers");
                break;
            case 1:
                $("#leaseControls").hide();
                showLnFOffer('lease',0);
                break;
            default:
                $("#leaseControls").show();                
                showLnFOffer('lease',0);
                break;
            }        
            switch(fResults.length) {
            case 0:
                $("#financeControls").hide();
                $("#financeOfferContent").html("See your local dealer for available finance offers");
                break;
            case 1:
                $("#financeControls").hide();
                showLnFOffer('finance',0);
                break;
            default:
                $("#financeControls").show();
                showLnFOffer('finance',0);
                break;
            }
            if(fResults.length > 0 || lResults.length > 0) {$("#offersContainer").slideDown();}
            else {
                parent.$("#TB_iframeContent").animate({"height": "480px"});
            }
        });
    }
    
    function showLnFOffer(offerType,moveToIndex) {
        var bckBtn ='<img src="/images/tools/finance-tools/btn-offer-back.gif" border="0" />';
        var nxtBtn = '<img src="/images/tools/finance-tools/btn-offer-next.gif" border="0" />';
        
        if(moveToIndex > 0) { bckBtn = '<a href="javascript:showLnFOffer(\'' + offerType + '\',' + (moveToIndex - 1) + ')">' + bckBtn + '</a>'}
        
        if (offerType == 'lease') {
            var offer = lResults[moveToIndex];
            if(moveToIndex != lResults.length - 1 ) { nxtBtn = '<a href="javascript:showLnFOffer(\'' + offerType + '\',' + (moveToIndex + 1) + ')">' + nxtBtn + '</a>'}
            $("#leaseControls").html(bckBtn + ' ' + (moveToIndex+1) + ' of ' + lResults.length + ' ' + nxtBtn);
            $("#leaseOfferContent").html('<div class="offerTitle">' + offer[3] + '</div>' + '<div class="offerSub">' + offer[2] + '</div>' + '<div class="offerDisc">' + offer[5]  + ' <a href="javascript:ShowCurrentOffer(ModelName, ModelYear, modelid, ModelTrim, \'' + offer[0] + '\');">View Details</a></div>');
        }
        else {
            var offer = fResults[moveToIndex];
            if(moveToIndex != fResults.length - 1 ) { nxtBtn = '<a href="javascript:showLnFOffer(\'' + offerType + '\',' + (moveToIndex + 1) + ')">' + nxtBtn + '</a>'}
            $("#financeControls").html(bckBtn + ' ' + (moveToIndex+1) + ' of ' + fResults.length + ' ' + nxtBtn);
            $("#financeOfferContent").html('<div class="offerTitle">' + offer[3] + '</div>' + '<div class="offerSub">' + offer[2] + '</div>' + '<div class="offerDisc">' + offer[5] + ' <a href="javascript:ShowCurrentOffer(ModelName, ModelYear, modelid, ModelTrim, \'' + offer[0] + '\');">View Details</a></div>');
        }
    }
    
    function showdownpayment() {
      if ($('#cbx_downpayment').attr('checked')) {
                $("#DownpaymentDiv").show();
          }
          else
          {
                $("#DownpaymentDiv").hide();
                $("#downpayment").val('');
          }
    }
    
    function showtradein() {
       if ($('#cbx_tradein').attr('checked')) {
                $("#TradeinDiv").show();
          }
          else
          {
                $("#TradeinDiv").hide();
                $("#KBBTotalPrice").val('');
                $("#balanceowned").val('');
          }
    }
    
        function showAPR(apr) {
       if ($('#cbx_APR').attr('checked')) {
                $("#APRDiv").show();
          }
          else
          {
                $("#APRDiv").hide();
                $("#APR").val(apr);
          }
    }
        function showHcucAPR(apr) {
       if ($('#cbx_APR').attr('checked')) {
                $("#APRDiv").slideDown(100);
          }
          else
          {
                $("#APRDiv").slideUp(100);
                $("#APR").val(apr);
          }
    }    
    function SetModelInfo(key) {
        CurrentKey = key;
        var DataController=new DataControl();
        //alert((ModelListIndex + key) + ' : ' + GetBaseCarPhotoPath(ModelListIndex + key));
        modelid = $("input[@name='transOptions']:checked").val();
        $('#CarImage').attr("src",GetCarImageSize(GetBaseCarPhotoPath(ModelListIndex + key),140,90));
        $('#ModelName').html($('#ModelSelector :selected').text());
        $('#ModelTrim').html(DedupeModelTrim($('#ModelSelector :selected').text(),$('#TrimSelector :selected').text()));
        $('#ModelTransmission').html(TempModels[key][4]);
        var total = parseFloat(DataController.GetCurrencyNumbersOnly(TempModels[key][2])) + parseFloat(DataController.GetCurrencyNumbersOnly(TempModels[key][3]))
        $('#ModelPrice').html(DataController.FormatCurrency(total));
        if ($('#TrimSelector :selected').text().length > 65) {
            $('#ModelInfoBox').slideDown(100).animate({width:"625px"});
        } else {
            if ($('#TrimSelector :selected').text().length > 50) {
            $('#ModelInfoBox').slideDown(100).animate({width:"550px"});
            } else {
                $('#ModelInfoBox').slideDown(100).animate({width:"450px"});
            }        
        }
        $("select").attr("disabled","");
        $('#BothCalculators').slideDown("normal");
        ActiveColorLink(1)
        ShowResults();
    }
    
    
    function ValidatEntry() {
    var validator = new Validation();
    var NoError = true;
    var NoErrorBG = "#ffffff";
    var ErrorBG = "#ec9797"
    
    if ($("#ModelSelector").length > 0) {
        if ($("#ModelSelector").val() == 0) {
                NoError = false;
        }
    }
    
    if ( $("#customerzip").length > 0 ) { 
        if (!validator.IsEmpty($("#customerzip").val())) {
            if (validator.IsZip($("#customerzip").val())) {
                $("#customerzip")[0].style.backgroundColor = NoErrorBG;
                SetUserZip($("#customerzip").val());
            } else {
                $("#customerzip")[0].style.backgroundColor = ErrorBG;
                NoError = false;
            }
        } else {
        $("#customerzip")[0].style.backgroundColor = NoErrorBG;
        }
    }
    if (!validator.IsEmpty($("#downpayment").val())) {
        if (validator.IsNumeric($("#downpayment").val())) {
            $("#downpayment")[0].style.backgroundColor = NoErrorBG;
        } else {
            $("#downpayment")[0].style.backgroundColor = ErrorBG;
            NoError = false;
        }
    } else {
    $("#downpayment")[0].style.backgroundColor = NoErrorBG;
    }
      
      
    if (!validator.IsEmpty($("#KBBTotalPrice").val())) {
        if (validator.IsNumericDecimal($("#KBBTotalPrice").val())) {
            $("#KBBTotalPrice")[0].style.backgroundColor = NoErrorBG;

        } else {
            $("#KBBTotalPrice")[0].style.backgroundColor = ErrorBG;
            NoError = false;
        }
    } else {
    $("#KBBTotalPrice")[0].style.backgroundColor = NoErrorBG;
    }
    
    if (!validator.IsEmpty($("#balanceowned").val())) {
        if (validator.IsNumeric($("#balanceowned").val())) {
            $("#balanceowned")[0].style.backgroundColor = NoErrorBG;

        } else {
            $("#balanceowned")[0].style.backgroundColor = ErrorBG;
            NoError = false;
        }
    } else {
    $("#balanceowned")[0].style.backgroundColor = NoErrorBG;
    }    

    if (!validator.IsEmpty($("#APR").val())) {
        if (validator.IsNumericDecimal($("#APR").val())) {
            $("#APR")[0].style.backgroundColor = NoErrorBG;
        } else {
            $("#APR")[0].style.backgroundColor = ErrorBG;
            NoError = false;
        }
    } else {
    $("#APR")[0].style.backgroundColor = ErrorBG;
     NoError = false;
    }  
    return NoError;
    }
    
    function UpdateLeaseMileage() {
       var LeaseTerm = $("#LeaseTerm").val();
       if (LeaseTerm > 48) { $("#Mileage option[value='15,000']").attr('selected', 'selected'); } 
    }
    
    
    function ShowResults(runCallBackEvents){    
    if (ValidatEntry()) {
    
        if ( (!TempModels) || (!TempModels[CurrentKey]) ) {
            return;
        }
    
        $("#ErrorMsg").html("");
        $("#estimateMonthly").show();
        $("#LeaseError").html('');
        $("#FinanceError").html('');        
        $("#LeaseError").hide();
        $("#FinanceError").hide();
        UpdateLeaseMileage();
        var printDiv = '';
        var validator = new Validation();
        var DataController=new DataControl();
        var cpMSRP = TempModels[CurrentKey][2];
        var cpTradeIn = $('#KBBTotalPrice').val();
        if (!validator.IsNumeric(cpTradeIn)) {cpTradeIn = 0}
        var cpDownpayment = $('#downpayment').val();
        if (!validator.IsNumeric(cpDownpayment)) {cpDownpayment = 0}
        $("#CompareResults").load('/handlers/tools/shopping/comparecalculator.ashx?msrp='+TempModels[CurrentKey][2]+'&fterm='+$('#FinanceTerm :selected').val()+'&lterm='+$('#LeaseTerm :selected').val()+'&downpayment='+$('#downpayment').val()+'&mileage='+$('#Mileage :selected').val()+'&apr='+$('#APR').val()+'&modelid='+modelid+'&tradein='+ $('#KBBTotalPrice').val()+'&owed='+$('#balanceowned').val()+'&dc='+TempModels[CurrentKey][3], function(data) {
                if (CalResult[0][0] == '0') { 
                    setVars();
                    $("#RSD").html(CalResult[0][5]);
                    $("#FirstPayment").html(CalResult[0][7]);
                    $("#CCR").html(CalResult[0][8]);
                    $("#TotalDue").html(CalResult[0][9]);
                    $("#LeaseMonthly").html(CalResult[0][2]);
                    $("#FinanceMonthly").html(CalResult[0][1]);
                    $("#LeaseEGCC").html(DataController.FormatCurrency(CalResult[0][4]));
                    $("#FinanceEGCC").html(DataController.FormatCurrency(CalResult[0][3]));
                    $("#carInfoContainer").show();
                    $("#ModelInfoSelect").show();
                    $("#loaderScreen").fadeOut("normal",function() { $("#calculatedContainer").slideDown("normal");});
                    if (ExceptionList.length > 0) {
                        if (ExceptionList[0][0] != "") {
                            $(".calcLine").hide();
                            $("#LeaseEGCC").html(DataController.FormatCurrency(0));
                            $("#leaseErr").html(ExceptionList[0][0]);                 
                            $("#LeaseMonthly").html(" --")
                        }
                        if (ExceptionList[0][1] != "") {
                        $(".calcLine").hide();
                        $("#financeErr").html(ExceptionList[0][1]);
                        }
                    }
                    else { $(".calcLine").show(); $("#leaseErr").html(''); $("#financeErr").html(''); }
                    if ( runCallBackEvents == true ) {
                        passedCallback();
                    }
                } else {
                $(".calcLine").hide();
                $("#financeErr").html(CalResult[0][1]);
                $("#LeaseEGCC").html(" --");
                $("#FinanceEGCC").html(" --");                
                $("#LeaseMonthly").html(" --");
                $("#FinanceMonthly").html(" --");                
                $("#estimateMonthly").hide();            
                if ( runCallBackEvents == true ) {
                        failedCallback();
                    }
                }
            });
 
            // Tracking
            if (sTrackingPageSource == 'full') { 
                s.pageName = 'FINANCE TOOLS - ESTIMATE MONTHLY PAYMENT RESULTS';
                s.channel = 'FINANCE TOOLS';
                var TrackingModelYear = $('#ModelName').html().split(' ')[0];
                var TrackingModelName = $('#ModelName').html().replace(TrackingModelYear , '');
                s.prop1 = TrackingModelName;
                s.prop2 = TrackingModelYear;
                s.prop5 = $('#ModelTrim').html()
                s.prop33 = $('#ModelTransmission').html()
                s.prop26 = 'ESTIMATE';
                s.prop27 = 'DEFAULT';
                s.prop37 = 'FINANCE TOOLS:ESTIMATE:DEFAULT:FINANCE TOOLS - ESTIMATE MONTHLY PAYMENT RESULTS';
                var TradeInYear = $("#__ctl00_Main_TradeInControl_Year").val();
                var TradeInMake = $("#__ctl00_Main_TradeInControl_Make").val();
                var TradeInModel = $("#__ctl00_Main_TradeInControl_Model").val();
                var TradeInTrim = $("#__ctl00_Main_TradeInControl_Trim").val();
                var TradeInTransmission = $("#__ctl00_Main_TradeInControl_Trans").val();
                s.prop34 = TradeInYear + ':' + TradeInMake + ':' + TradeInModel + ':' + TradeInTrim + ':' + TradeInTransmission;
                s.prop34 = s.prop34.replace(/::/g , '');                                                            
                CallSDotT(s);
                
            } else if (sTrackingPageSource == 'popup') {
            }
            
            if (sTrackingCalcType == 'new') {
                // <!--AT 32070-->		        		        
		        var axel = Math.random()+"";		 
		        var a = axel * 10000000000000;		 
		        var sTrackingContent = '';
		        sTrackingContent += '<IFRAME SRC="http://fls.doubleclick.net/activityi;src=675026;type=fy04n873;cat=newca134;ord=1;num='+ a + '?" WIDTH=1 HEIGHT=1 FRAMEBORDER=0></IFRAME>';
        	    sTrackingContent += '<img width="1" height="1" src="http://pixel1097.everesttech.net/1097/p?ev_hrm_calculator=1" >';
                // <!-- AT 33969 -->
			    sTrackingContent += '<img width="1" height="1" src="http://pixel1097.everesttech.net/1097/p?ev_HRM_Finance_Calculator_Results=1" />';
			    document.getElementById('TrackingTags').innerHTML = sTrackingContent;
            } else {
                var sTrackingTags = '';
                // <!-- AT 33969 -->
                var axel = Math.random()+"";
                var a = axel * 10000000000000;
                sTrackingTags += '<img width="1" height="1" src="http://pixel1097.everesttech.net/1097/p?ev_transid=' + a + '&ev_HCUC_Estimate_Payments_Results_Page=1" />\n';
                // AT 33967 05/22/07
                sTrackingTags += '<IFRAME SRC="http://fls.doubleclick.net/activityi;src=675026;type=fy04h540;cat=hcuce152;ord=' + a + '?" WIDTH=1 HEIGHT=1 FRAMEBORDER=0></IFRAME>\n';
                $("#TrackingTags").html(sTrackingTags);
            }

    }        
    }    
    function ValidatReverseEntry() {
    
    var validator = new Validation();
    var NoError = true;
    var NoErrorBG = "#ffffff";
    var ErrorBG = "#ec9797"    
       
    if (!validator.IsEmpty($("#MonthlyPayment").val())) {
        if (validator.IsNumeric($("#MonthlyPayment").val())) {
            $("#MonthlyPayment")[0].style.backgroundColor = NoErrorBG;

        } else {
            $("#MonthlyPayment")[0].style.backgroundColor = ErrorBG;
            NoError = false;
        }
    } else {
           $("#MonthlyPayment")[0].style.backgroundColor = ErrorBG;
            NoError = false;
    }    
    
    if (!validator.IsEmpty($("#downpayment").val())) {
        if (validator.IsNumeric($("#downpayment").val())) {
            $("#downpayment")[0].style.backgroundColor = NoErrorBG;
        } else {
            $("#downpayment")[0].style.backgroundColor = ErrorBG;
            NoError = false;
        }
    } else {
    $("#downpayment")[0].style.backgroundColor = NoErrorBG;
    }
      
      
    if (!validator.IsEmpty($("#KBBTotalPrice").val())) {
        if (validator.IsNumeric($("#KBBTotalPrice").val())) {
            $("#KBBTotalPrice")[0].style.backgroundColor = NoErrorBG;

        } else {
            $("#KBBTotalPrice")[0].style.backgroundColor = ErrorBG;
            NoError = false;
        }
    } else {
    $("#KBBTotalPrice")[0].style.backgroundColor = NoErrorBG;
    }
    
    if (!validator.IsEmpty($("#APR").val())) {
        if (validator.IsNumericDecimal($("#APR").val())) {
            $("#APR")[0].style.backgroundColor = NoErrorBG;
        } else {
            $("#APR")[0].style.backgroundColor = ErrorBG;
            NoError = false;
        }
    }  
    
    if (!validator.IsEmpty($("#balanceowned").val())) {
        if (validator.IsNumeric($("#balanceowned").val())) {
            $("#balanceowned")[0].style.backgroundColor = NoErrorBG;
        } else {
            $("#balanceowned")[0].style.backgroundColor = ErrorBG;
            NoError = false;
        }
    }  
    
    return NoError;
    }
    
    
    function ListModels(Model, Year) {
        $("#LeaseError").html("");
        $("#FinanceError").html("");
        $('#ResultTrims').slideUp("normal");
        $("#calculatorsMid").css({"height":"500px"})
        var models = '';
        var tempmodel = '';
            if (RevResult[0][0] == '0') {
                if (CalModels.length > 0) {
                    for (i=0;i<CalModels.length;i++) {
                        if ( CalModels[i][4] != tempmodel ) {
                        models += '<div class="Models">';
                        models += '<a href="#"' 
                        if (Model == CalModels[i][4] && Year == CalModels[i][1]) {
                            models += ' class="mainbuttons_Selected" ';
                            ShowTrims(Model, Year);
                        } else {
                            models += ' class="mainbuttons" ';
                        }
                        models += 'onclick="ListModels(\''+CalModels[i][4]+'\',\''+CalModels[i][1]+'\')">'
                        models += CalModels[i][1] + ' ' + CalModels[i][4];
                        models += '</a></div>';
                        tempmodel = CalModels[i][4];
                        }
                    }
                    $("#NoModelListDiv").hide();
                    $("#ModelListDiv").fadeIn();
                    $("#mainCopy").fadeOut();
                    ShowAfford(); 
                    $("#MatchingModels").html(models);
                } else {
                    $("#ModelListDiv").hide();
                    $("#mainCopy").fadeOut();
                    $("#NoModelListDiv").fadeIn();
                    ShowAfford();                
                }
            } else {
               $("#mainCopy").hide();            
               $("#ErrorMsg").html(RevResult[0][1]);            
            }
    }
    
    function ShowAfford() {
        var DataController=new DataControl();
        $("#AffordAmountsLeased").html(DataController.FormatCurrency(RevResult[0][5]));
        $("#AffordAmountsFinanced").html(DataController.FormatCurrency(RevResult[0][2]));
        $("#Afford").show();
    }
    
    function ShowTrims(ModelName, ModelYear) {
        currModel = ModelName;
        currYear = ModelYear;
        $("#loaderScreen").show();
        $("#jsblock2").load('/handlers/tools/shopping/GetProductLineJSArray.ashx?ModelName=' + escape(ModelName) + '&ModelYear=' + ModelYear + '&showcar=false',function(data) {
            $('#CarImage').attr("src",GetCarImageSize(GetBaseCarPhotoPath(modelList.length-1),140,90));
            $('#SelectedModelYearName').html(ModelYear+" "+ModelName)
            $('#SelectedModelName').html(ModelName)
            $('#RevModelInfoBox')
            ShowTrimList(currModel, currYear);
        });
        
        // Tracking
        var TradeInYear = $("#__ctl00_Main_TradeInControl_Year").val();
        var TradeInMake = $("#__ctl00_Main_TradeInControl_Make").val();
        var TradeInModel = $("#__ctl00_Main_TradeInControl_Model").val();
        var TradeInTrim = $("#__ctl00_Main_TradeInControl_Trim").val();
        var TradeInTransmission = $("#__ctl00_Main_TradeInControl_Trans").val();

        s.pageName = 'FINANCE TOOLS - WHICH HONDA FITS MY BUDGET RESULTS - MODEL SELECTED';
        s.prop26 = 'BUDGET';
        s.prop27 = 'DEFAULT';
        s.prop37 = 'FINANCE TOOLS:BUDGET:DEFAULT:FINANCE TOOLS - WHICH HONDA FITS MY BUDGET RESULTS - MODEL SELECTED';
        s.prop34 = TradeInYear + ':' + TradeInMake + ':' + TradeInModel + ':' + TradeInTrim + ':' + TradeInTransmission;
        s.prop34 = s.prop34.replace(/::/g , '');                                                            
        CallSDotT(s);   
        
                                

        
    }
    
    function ShowTrimList(ModelName ,ModelYear) {
        //reset sort order everytime init trim list loads.
        for (k=0;k<sortorder.length;k++) {
            if (k==2) {
                sortorder[k] = true;
             } else {
                sortorder[k] = true;
             }
        }
    if (ValidatReverseEntry()) {
        $("#ErrorMsg").html("");
        var validator = new Validation();
        var DataController=new DataControl();
        var cpMonthly = $('#MonthlyPayment').val(); 
        var cpAPR = $('#APR').val();
        var cpTerm = $('#FinanceTerm :selected').val();
        var cpDownpayment = $('#downpayment').val();        
        var cpTradeIn = $('#KBBTotalPrice').val();
        var cpBalance = $('#balanceowned').val();

        if (!validator.IsNumeric(cpMonthly)) {cpMonthly = 0}
        if (!validator.IsNumericDecimal(cpAPR)) {cpAPR = 0}
        if (!validator.IsNumeric(cpDownpayment)) {cpDownpayment = 0}
        if (!validator.IsNumeric(cpTradeIn)) {cpTradeIn = 0}
        if (!validator.IsNumeric(cpBalance)) {cpBalance = 0}
        
        var msrp = '';
        var modelids = ''
        for (i=0;i<modelList.length;i++) {
           if (i == 0) {
            //msrp = parseFloat(DataController.GetCurrencyNumbersOnly(modelList[i][2])) + parseFloat(DataController.GetCurrencyNumbersOnly(modelList[i][3]));
            msrp = modelList[i][2]
            modelids = modelList[i][1];
           }else {
            //msrp += ':'+(parseFloat(DataController.GetCurrencyNumbersOnly(modelList[i][2])) + parseFloat(DataController.GetCurrencyNumbersOnly(modelList[i][3])));
            msrp += ':'+ modelList[i][2];
            modelids += ':'+modelList[i][1];  
           }
        }
        $("#jsblockTrim").load('/handlers/tools/shopping/comparecalculator.ashx?msrp='+msrp+'&fterm='+$('#FinanceTerm :selected').val()+'&lterm='+$('#FinanceTerm :selected').val()+'&downpayment='+cpDownpayment+'&apr='+cpAPR+'&modelid='+modelids+'&tradein='+cpTradeIn+'&owed='+cpBalance +'&dc='+modelList[0][3], function(data) {
            $("#loaderScreen").hide("normal");
            if (CalResult[0][0] == '0') { 
               GenerateTrimList(ModelName,ModelYear);
                    if (ExceptionList.length > 0) {
                        $("#LeaseError").html(ExceptionList[0][0]);
                        $("#FinanceError").html(ExceptionList[0][1]);
                    } else {
                        $("#LeaseError").html();
                        $("#FinanceError").html();
                    }
            } else {
            $("#ErrorMsg").html(CalResult[0][1]);
            }
        });
     }
    }
 
function flipArrow(id) {
        
        var flip1 = '/images/tools/finance-tools/uparrow.gif';
        var flip2 = '/images/tools/finance-tools/downarrow.jpg';
        var imgHeight = document.getElementById("simImgArrow" + id).height;
        
        for(var i= 0; i<=4;i++) {
            document.getElementById("simImgArrow" + i).src = flip1; 
            document.getElementById("simImgArrow" + i).height = '4';
        }
        if (imgHeight == '4') { 
            document.getElementById("simImgArrow" + id).src = flip2; 
            document.getElementById("simImgArrow" + id).height = '5';
            
            if( id == 2 ) {
                document.getElementById("simImgArrow3").src = flip2; 
                document.getElementById("simImgArrow3").height = '5';    
                document.getElementById("simImgArrow4").src = flip2; 
                document.getElementById("simImgArrow4").height = '5';    
            }
        }
        else {
            document.getElementById("simImgArrow" + id).src = flip1; 
            document.getElementById("simImgArrow" + id).height = '4';
            if( id == 2 ) {
                document.getElementById("simImgArrow3").src = flip1; 
                document.getElementById("simImgArrow3").height = '4';    
                document.getElementById("simImgArrow4").src = flip1; 
                document.getElementById("simImgArrow4").height = '4';    
            }
        }
}

function flipHcucArrow(id) {
        
        var flip1 = '/images/tools/finance-tools/uparrow.gif';
        var flip2 = '/images/tools/finance-tools/downarrow.jpg';
        var imgHeight = document.getElementById("simImgArrow" + id).height;
        
        for(var i= 0; i<=6;i++) {
            document.getElementById("simImgArrow" + i).src = flip1; 
            document.getElementById("simImgArrow" + i).height = '4';
        }
        if (imgHeight == '4') { 
            document.getElementById("simImgArrow" + id).src = flip2; 
            document.getElementById("simImgArrow" + id).height = '5';
        }
        else {
            document.getElementById("simImgArrow" + id).src = flip1; 
            document.getElementById("simImgArrow" + id).height = '4';
        }
}
    
    function GenerateTrimList(ModelName, ModelYear) {
    var DataController=new DataControl(); 
        ModelTrimList = new Array();   
        for (i=0;i<modelList.length;i++) {
            ModelTrimList[i] = new Array(trimList[modelList[i][0]][0],modelList[i][4],DataController.FormatCurrency(parseFloat(DataController.GetCurrencyNumbersOnly(modelList[i][2])) + parseFloat(DataController.GetCurrencyNumbersOnly(modelList[i][3]))),CalResult[i][1],CalResult[i][2],trimList[modelList[i][0]][3],ModelYear,modelList[i][1]);
        }
        TrimSort(2);
    }
    
    function ShowTrimResults() {
    var DataController=new DataControl();
    var DisplayTrim = '';
    var classname = 'TrimRow';    
        DisplayTrim += '<table width="510" border="0" cellspacing="2" cellpadding="2">';
        DisplayTrim += '<tr>';
	    DisplayTrim += '<td colspan="6" class="rowbgcolor">';
        DisplayTrim += '</td>';
        DisplayTrim += '</tr>';
        for (i=0;i<ModelTrimList.length;i++) {
        DisplayTrim += '<tr>';
        DisplayTrim += '<td width="113" class="TrimRow'+(i%2)+'">'+ModelTrimList[i][0]+'</td>';
        DisplayTrim += '<td width="83" class="TrimRow'+(i%2)+'">'+ModelTrimList[i][1]+'</td>';
        DisplayTrim += '<td class="TrimRow'+(i%2)+'">'+ModelTrimList[i][2]+'</td>';
        var LeaseClass = "";
        if ( parseInt(ModelTrimList[i][4]) <= parseInt($("#MonthlyPayment").val()) ) {
         LeaseClass = "color:Green;";
        }
        var FinanceClass = "";
        if ( parseInt(ModelTrimList[i][3]) <= parseInt($("#MonthlyPayment").val()) ) {
        FinanceClass = "color:Green;"
        }
        var LeaseAmount = "";
        if (parseInt(ModelTrimList[i][4]) > 0) {
        LeaseAmount = DataController.FormatCurrency(ModelTrimList[i][4]);            
        } else {
        LeaseAmount = '<span style="color:red;">-----</span>';
        }
        var FinanceAmount = "";
        if (parseInt(ModelTrimList[i][3]) > 0) {
        FinanceAmount = DataController.FormatCurrency(ModelTrimList[i][3])            
        } else {
        FinanceAmount = '<span style="color:red;">-----</span>';
        }
        
        
        DisplayTrim += '<td class="TrimRow'+(i%2)+'"><span style="'+LeaseClass+'">'+LeaseAmount+'</span></td>';
        DisplayTrim += '<td class="TrimRow'+(i%2)+'"><span style="'+FinanceClass+'">'+FinanceAmount+'</span></td>';
        DisplayTrim += '<td class="TrimRow'+(i%2)+' buildBtn"><a href="/tools/build-price/?ModelID='+ModelTrimList[i][7]+'"><img src="/images/tools/finance-tools/buildbtnnormal.gif" width="57" height="20" border="0" /></a></td>';
        DisplayTrim += '</tr>';
        }
        DisplayTrim += '</table>';
        $('#ResultTrims').html(DisplayTrim);
        $("#calculatorsMid").css({"height":"auto"})
        setTimeout(function() {$('#ResultTrims').slideDown("normal");},100 );
        $('#MatchingModelInfo').show();
    }
    
    function GetReverseInfo(){
    $('#MatchingModelInfo').hide();
    if (ValidatReverseEntry()) {
        $("#ErrorMsg").html("");
        $("#LeaseError").html("");
        $("#FinanceError").html("");
        var validator = new Validation();
        var DataController=new DataControl();
        var cpMonthly = $('#MonthlyPayment').val(); 
        var cpAPR = $('#APR').val();
        var cpTerm = $('#FinanceTerm :selected').val();
        var cpDownpayment = $('#downpayment').val();        
        var cpTradeIn = $('#KBBTotalPrice').val();
        var cpBalance = $('#balanceowned').val();

        if (!validator.IsNumeric(cpMonthly)) {cpMonthly = 0}
        if (!validator.IsNumeric(cpTerm)) {cpTerm = 0}
        if (!validator.IsNumericDecimal(cpAPR)) {cpAPR = 0}        
        if (!validator.IsNumeric(cpDownpayment)) {cpDownpayment = 0}
        if (!validator.IsNumeric(cpTradeIn)) {cpTradeIn = 0}
        if (!validator.IsNumeric(cpBalance)) {cpBalance = 0}
        $.get('/handlers/tools/shopping/reversecalculator.ashx?monthly='+cpMonthly+'&term='+cpTerm+'&downpayment='+cpDownpayment+'&apr='+cpAPR+'&tradein='+cpTradeIn+'&owed='+cpBalance, function(data) {
            $('#jsblock').html(data);
            setVars();
            ListModels(currModel, currYear);
        });
        

        // Tracking
        var TradeInYear = $("#__ctl00_Main_TradeInControl_Year").val();
        var TradeInMake = $("#__ctl00_Main_TradeInControl_Make").val();
        var TradeInModel = $("#__ctl00_Main_TradeInControl_Model").val();
        var TradeInTrim = $("#__ctl00_Main_TradeInControl_Trim").val();
        var TradeInTransmission = $("#__ctl00_Main_TradeInControl_Trans").val();

        s.pageName = 'FINANCE TOOLS - WHICH HONDA FITS MY BUDGET RESULTS - ALL MODELS';
        s.prop26 = 'BUDGET';
        s.prop27 = 'DEFAULT';
        s.prop37 = 'FINANCE TOOLS:BUDGET:DEFAULT:FINANCE TOOLS - WHICH HONDA FITS MY BUDGET RESULTS - ALL MODELS';
        s.prop34 = TradeInYear + ':' + TradeInMake + ':' + TradeInModel + ':' + TradeInTrim + ':' + TradeInTransmission;
        s.prop34 = s.prop34.replace(/::/g , '');                                                            
        CallSDotT(s);                           
        
        
        // <!--AT 32070-->		        		        
		var axel = Math.random()+"";		 
		var a = axel * 10000000000000;		 
		var sTrackingContent = '';
		sTrackingContent += '<IFRAME SRC="http://fls.doubleclick.net/activityi;src=675026;type=fy04n873;cat=newca134;ord=1;num='+ a + '?" WIDTH=1 HEIGHT=1 FRAMEBORDER=0></IFRAME>';
        sTrackingContent += '<img width="1" height="1" src="http://pixel1097.everesttech.net/1097/p?ev_hrm_calculator=1" >';
        // <!-- AT 33969 -->
		sTrackingContent += '<img width="1" height="1" src="http://pixel1097.everesttech.net/1097/p?ev_HRM_Finance_Calculator_Results=1" />';
		document.getElementById('TrackingTags').innerHTML = sTrackingContent;


    }        
    }
    
    function ActiveColorLink(key) {
    if (key > 0) {
        $("#bnpLink").attr("href","/tools/build-price/?ModelID="+modelid);
        $("#raqLink").attr("href","/tools/price-quote.aspx?ModelID="+modelid);
        }
        else
        {
        $("#raqLink").attr("href","");
        $("#bnpLink").attr("href","");
        }
    }

    // hcuc calculator function //
    function ValidatHcucPaymentEntry() {
    var dc = new DataControl();    
    var validator = new Validation();
    var NoError = true;
    var NoErrorBG = "#ffffff";
    var ErrorBG = "#ec9797"
        if (!validator.IsEmpty($("#customerzip").val())) {
            if (validator.IsZip($("#customerzip").val())) {
                $("#customerzip")[0].style.backgroundColor = NoErrorBG;
                SetUserZip($("#customerzip").val());
            } else {
                $("#customerzip")[0].style.backgroundColor = ErrorBG;
                NoError = false;
            }
        } else {
                $("#customerzip")[0].style.backgroundColor = ErrorBG;
                NoError = false;
        }


    if ($("#MonthlyBudget").length > 0) {
        $("#MonthlyBudget").val(dc.GetNumbersOnly($("#MonthlyBudget").val()));
        if (!validator.IsEmpty($("#MonthlyBudget").val())) {
            if (validator.IsNumeric($("#MonthlyBudget").val())) {
                $("#MonthlyBudget")[0].style.backgroundColor = NoErrorBG;
            } else {
                $("#MonthlyBudget")[0].style.backgroundColor = ErrorBG;
                NoError = false;
            }
        } else {
                $("#MonthlyBudget")[0].style.backgroundColor = ErrorBG;
                NoError = false;
        }
    }
    
    
    if ($("#TotalBudget").length > 0) {
        $("#TotalBudget").val(dc.GetNumbersOnly($("#TotalBudget").val()));
        if (!validator.IsEmpty($("#TotalBudget").val())) {
            if (validator.IsNumeric($("#TotalBudget").val())) {
                $("#TotalBudget")[0].style.backgroundColor = NoErrorBG;
            } else {
                $("#TotalBudget")[0].style.backgroundColor = ErrorBG;
                NoError = false;
            }
        } else {
                $("#TotalBudget")[0].style.backgroundColor = ErrorBG;
                NoError = false;
        }
    }
      
    $("#KBBTotalPrice").val(dc.GetNumbersOnly($("#KBBTotalPrice").val()));
    if (!validator.IsEmpty($("#KBBTotalPrice").val())) {
        if (validator.IsNumeric($("#KBBTotalPrice").val())) {
            $("#KBBTotalPrice")[0].style.backgroundColor = NoErrorBG;

        } else {
            $("#KBBTotalPrice")[0].style.backgroundColor = ErrorBG;
            NoError = false;
        }
    } else {
    $("#KBBTotalPrice")[0].style.backgroundColor = NoErrorBG;
    }
    
    $("#balanceowned").val(dc.GetNumbersOnly($("#balanceowned").val()));
    if (!validator.IsEmpty($("#balanceowned").val())) {
        if (validator.IsNumeric($("#balanceowned").val())) {
            $("#balanceowned")[0].style.backgroundColor = NoErrorBG;

        } else {
            $("#balanceowned")[0].style.backgroundColor = ErrorBG;
            NoError = false;
        }
    } else {
    $("#balanceowned")[0].style.backgroundColor = NoErrorBG;
    }    

    if (!validator.IsEmpty($("#APR").val())) {
        if (validator.IsNumericDecimal($("#APR").val())) {
            $("#APR")[0].style.backgroundColor = NoErrorBG;
        } else {
            $("#APR")[0].style.backgroundColor = ErrorBG;
            NoError = false;
        }
    } else {
    $("#APR")[0].style.backgroundColor = ErrorBG;
     NoError = false;
    }  
    return NoError;
    }
    
    // hcuc calculator function //
    function CalculatePayment(source) {
        if (ValidatHcucPaymentEntry()) {
            var DataController=new DataControl();
            $("#reqFieldErr").hide();
            $("#RightDiv2").hide();
            $("#rightdiv").show();
            $("#loaderScreen").show();
            $("#ErrorMsg").html("");
            var validator = new Validation();
            var DataController=new DataControl();
            var cpTotalPrice = $('#TotalBudget').val(); 
            var cpAPR = $('#APR').val();
            var cpTerm = $('#FinanceTerm :selected').val();
            var cpDownpayment = $('#downpayment').val();        
            var cpTradeIn = $('#KBBTotalPrice').val();
            var cpBalance = $('#balanceowned').val();
            var zip = $("#customerzip").val();
            var Model = $("#selModel").val();
            var sYear = $("#selYearStart").val();
            var eYear = $("#selYearEnd").val();
            var Trans = $("#selTrans").val();
            var Range = $("#selRange").val();
            var TradeInYear = $("#__TradeInControl_Year").val();
            var TradeInMake = $("#__TradeInControl_Make").val();
            var TradeInModel = $("#__TradeInControl_Model").val();
            var TradeInTrim = $("#__TradeInControl_Trim").val();
            var TradeInTransmission = $("#__TradeInControl_Trans").val();

            if (!validator.IsNumeric(cpTotalPrice)) {cpTotalPrice = 0}
            if (!validator.IsNumericDecimal(cpAPR)) {cpAPR = 0}
            if (!validator.IsNumeric(cpDownpayment)) {cpDownpayment = 0}
            if (!validator.IsNumeric(cpTradeIn)) {cpTradeIn = 0}
            if (!validator.IsNumeric(cpBalance)) {cpBalance = 0}
            
            $.ajax({
                type:    "GET",
                url:     '/handlers/tools/shopping/payment-estimator.ashx?price='+cpTotalPrice+'&term='+cpTerm+'&downpayment='+cpDownpayment+'&apr='+cpAPR+'&tradein='+cpTradeIn+'&owed='+cpBalance,
                timeout: 60000,
                error:   function(msg){
                            $("#rightdiv").hide();
                            $("#RightDiv2").show();
                            $("#Inventories").html("<div style='padding:20px;color:red;font-size:12px;font-weight:bold;'>There seems to have been an error, please try again.</div><div class='clr'></div>");
                },
                success: function(data){ 
                            $("#jsblock").html(data); 
                            if (CalResult[0][0] == '0') {
                                $("#MonthlyPayment").html(DataController.FormatCurrency(CalResult[0][1]));
                                //Load List
                                $.ajax({
                                    type:    "GET",
                                    url:     '/handlers/tools/shopping/hcuc-payment-estimator.ashx?price='+cpTotalPrice+'&fterm='+cpTerm+'&lterm='+cpTerm+'&downpayment='+cpDownpayment+'&apr='+cpAPR+'&tradein='+cpTradeIn+'&owed='+cpBalance+'&zip='+zip+'&modelname='+escape(Model)+'&yearstart='+sYear+'&yearend='+eYear+'&trans='+Trans+'&range='+Range,
                                    timeout: 60000,
                                    error:   function(msg){
                                                $("#rightdiv").hide();
                                                $("#RightDiv2").show();
                                                $("#Inventories").html("<div style='padding:20px;color:red;font-size:12px;font-weight:bold;'>There seems to have been an error, please try again.</div><div class='clr'></div>");
                                    },
                                    success: function(data){ 
                                                    $("#rightdiv").hide();
                                                    $("#RightDiv2").show();
                                                    $("#jsblock").html(data);
                                                    $("#CarFound").html(Inventory.length);
                                                    $("#totalprice").html(DataController.FormatCurrency(cpTotalPrice));
                                                    $("#SearchZip").html($("#customerzip").val());
                                                    if ( Inventory.length == 0 ) { 
									                    $("#Inventories").html("<div style='padding:20px;color:red;font-size:12px;font-weight:bold;'>No vehicles fit your search criteria. Try broadening your search or increasing your budget.</div><div class='clr'></div>");
                                                    }
                                                    else { 
                                                        ShowInventories(); 
                                                        
                                                        // Tracking
                                                        if (source == 'update') {

                                                            s.pageName = 'FINANCE TOOLS - ESTIMATE MONTHLY PAYMENT RESULTS - FILTERED - HCUC';
                                                            s.prop37 = 'FINANCE TOOLS:ESTIMATE:HCUC:FINANCE TOOLS - ESTIMATE MONTHLY PAYMENT RESULTS - FILTERED - HCUC';
                                                            var TrackingModel = (Model != '') ? Model : 'ANY';
                                                            var TrackingTrans = (Trans != '') ? Trans : 'ANY';
                                                            var TrackingSYear = (sYear != '') ? sYear : 'ANY';
                                                            var TrackingEYear = (eYear != '') ? eYear : 'ANY';
                                                            var TrackingRange = (Range != '') ? Range : 'ANY';
                                                            s.prop32 = TrackingModel + ':' + TrackingTrans + ':' + TrackingSYear + ':' + TrackingEYear + ':' + TrackingRange + ' MILES';
                                                            s.prop32 = s.prop32.replace(/::/g , '');
                                                        } else {
                                                            var sTrackingTags = '';
                                                            // <!-- AT 33969 -->
                                                            var axel = Math.random()+"";
    	                                                    var a = axel * 10000000000000;
	                                                        sTrackingTags += '<img width="1" height="1" src="http://pixel1097.everesttech.net/1097/p?ev_transid=' + a + '&ev_HCUC_Estimate_Payments_Results_Page=1" />\n';
                                                            // AT 33967 05/22/07
	                                                        sTrackingTags += '<IFRAME SRC="http://fls.doubleclick.net/activityi;src=675026;type=fy04h540;cat=hcuce152;ord=' + a + '?" WIDTH=1 HEIGHT=1 FRAMEBORDER=0></IFRAME>\n';
	                                                        $("#TrackingTags").html(sTrackingTags);
                                                            s.pageName = 'FINANCE TOOLS - ESTIMATE MONTHLY PAYMENT RESULTS - DEFAULT - HCUC';                                                            
                                                            s.prop37 = 'FINANCE TOOLS:ESTIMATE:HCUC:FINANCE TOOLS - ESTIMATE MONTHLY PAYMENT RESULTS - DEFAULT - HCUC';
                                                        }
                                                        s.channel = 'FINANCE TOOLS';
                                                        s.prop8 = zip;
                                                        s.prop9 = 'HCUC INVENTORY SEARCH';
                                                        s.prop10 = Inventory.length;
                                                        s.prop26 = 'ESTIMATE';
                                                        s.prop27 = 'HCUC';
                                                        s.prop34 = TradeInYear + ':' + TradeInMake + ':' + TradeInModel + ':' + TradeInTrim + ':' + TradeInTransmission;
                                                        s.prop34 = s.prop34.replace(/::/g , '');                                                            
                                                        CallSDotT(s);                           
                                                    }
                                             }
                                    });
                                } else { showErr(); }
                         }
                });
            
        } else { $("#reqFieldErr").show(); }
    }
    
    function showErr() {
        setTimeout( function() {
        $("#rightdiv").hide();
        $("#RightDiv2").show();
        $("#Inventories").html("<div style='padding:20px;color:red;font-size:12px;font-weight:bold;'>" + CalResult[0][1] + "</div><div class='clr'></div>");  
        },1);
    }
    
    // hcuc calculator function //
    function CalculateMonthly(source) {
        if (ValidatHcucPaymentEntry()) {
            $("#reqFieldErr").hide();
            var DataController=new DataControl();
            $("#RightDiv2").hide();
            $("#rightdiv").show();
            $("#loaderScreen").show();
            $("#ErrorMsg").html("");
            var validator = new Validation();
            var DataController=new DataControl();
            var cpMonthlyPrice = $('#MonthlyBudget').val(); 
            var cpAPR = $('#APR').val();
            var cpTerm = $('#FinanceTerm :selected').val();
            var cpDownpayment = $('#downpayment').val();        
            var cpTradeIn = $('#KBBTotalPrice').val();
            var cpBalance = $('#balanceowned').val();
            var zip = $("#customerzip").val();
            var Model = $("#selModel").val();
            var sYear = $("#selYearStart").val();
            var eYear = $("#selYearEnd").val();
            var Trans = $("#selTrans").val();
            var Range = $("#selRange").val();
            var TradeInYear = $("#__TradeInControl_Year").val();
            var TradeInMake = $("#__TradeInControl_Make").val();
            var TradeInModel = $("#__TradeInControl_Model").val();
            var TradeInTrim = $("#__TradeInControl_Trim").val();
            var TradeInTransmission = $("#__TradeInControl_Trans").val();
            

            if (!validator.IsNumeric(cpMonthlyPrice)) {cpMonthlyPrice = 0}
            if (!validator.IsNumericDecimal(cpAPR)) {cpAPR = 0}
            if (!validator.IsNumeric(cpDownpayment)) {cpDownpayment = 0}
            if (!validator.IsNumeric(cpTradeIn)) {cpTradeIn = 0}
            if (!validator.IsNumeric(cpBalance)) {cpBalance = 0}
            
            $.ajax({
                type:    "GET",
                url:     '/handlers/tools/shopping/reversecalculator.ashx?monthly='+cpMonthlyPrice+'&term='+cpTerm+'&downpayment='+cpDownpayment+'&apr='+cpAPR+'&tradein='+cpTradeIn+'&owed='+cpBalance+'&type=C&method=Finance',
                timeout: 60000,
                error:   function(msg){
                            $("#rightdiv").hide();
                            $("#RightDiv2").show();
                            $("#Inventories").html("<div style='padding:20px;color:red;font-size:12px;font-weight:bold;'>There seems to have been an error, please try again.</div><div class='clr'></div>");
                },
                success: function(data){ 
                            $("#jsblock").html(data); 
                           if (RevResult[0][0] == '0') { 
								$("#TotalPrice").html(DataController.FormatCurrency(RevResult[0][1]));
                                //Load List
                                $.ajax({
                                    type:    "GET",
                                    url:     '/handlers/tools/shopping/hcuc-payment-estimator.ashx?price='+RevResult[0][1]+'&fterm='+cpTerm+'&lterm='+cpTerm+'&downpayment='+cpDownpayment+'&apr='+cpAPR+'&tradein='+cpTradeIn+'&owed='+cpBalance+'&zip='+zip+'&modelname='+escape(Model)+'&yearstart='+sYear+'&yearend='+eYear+'&trans='+Trans+'&range='+Range,
                                    timeout: 60000,
                                    error:   function(msg){
                                                $("#rightdiv").hide();
                                                $("#RightDiv2").show();
                                                $("#Inventories").html("<div style='padding:20px;color:red;font-size:12px;font-weight:bold;'>There seems to have been an error, please try again.</div><div class='clr'></div>");
                                    },
                                    success: function(data){ 
                                                    $("#rightdiv").hide();
                                                    $("#RightDiv2").show();
                                                    $("#jsblock").html(data);
                                                    $("#CarFound").html(Inventory.length);
                                                    $("#totalprice").html(DataController.FormatCurrency(RevResult[0][1]));
                                                    $("#SearchZip").html($("#customerzip").val());
                                                    if ( Inventory.length == 0 ) {
									                    $("#Inventories").html("<div style='padding:20px;color:red;font-size:12px;font-weight:bold;'>No vehicles fit your search criteria. Try broadening your search or increasing your budget.</div><div class='clr'></div>");
                                                    } else { 
                                                        ShowInventories(); 


                                                        // Tracking
                                                        if (source == 'update') {

                                                            s.pageName = 'FINANCE TOOLS - WHICH HONDA FITS MY BUDGET RESULTS - FILTERED - HCUC';
                                                            s.prop37 = 'FINANCE TOOLS:BUDGET:HCUC:FINANCE TOOLS - WHICH HONDA FITS MY BUDGET RESULTS - FILTERED - HCUC';
                                                            var TrackingModel = (Model != '') ? Model : 'ANY';
                                                            var TrackingTrans = (Trans != '') ? Trans : 'ANY';
                                                            var TrackingSYear = (sYear != '') ? sYear : 'ANY';
                                                            var TrackingEYear = (eYear != '') ? eYear : 'ANY';
                                                            var TrackingRange = (Range != '') ? Range : 'ANY';
                                                            s.prop32 = TrackingModel + ':' + TrackingTrans + ':' + TrackingSYear + ':' + TrackingEYear + ':' + TrackingRange + ' MILES';
                                                            s.prop32 = s.prop32.replace(/::/g , '');

                                                        } else {

                                                            var sTrackingTags = '';
                                                            // <!-- AT 33969 -->
                                                            var axel = Math.random()+"";
    	                                                    var a = axel * 10000000000000;
	                                                        sTrackingTags += '<img width="1" height="1" src="http://pixel1097.everesttech.net/1097/p?ev_transid=' + a + '&ev_HCUC_Estimate_Payments_Results_Page=1" />\n';
                                                            // AT 33967 05/22/07
	                                                        sTrackingTags += '<IFRAME SRC="http://fls.doubleclick.net/activityi;src=675026;type=fy04h540;cat=hcuce152;ord=' + a + '?" WIDTH=1 HEIGHT=1 FRAMEBORDER=0></IFRAME>\n';
	                                                        $("#TrackingTags").html(sTrackingTags);

                                                            s.pageName = 'FINANCE TOOLS - WHICH HONDA FITS MY BUDGET RESULTS - DEFAULT - HCUC';                                                            
                                                            s.prop37 = 'FINANCE TOOLS:BUDGET:HCUC:FINANCE TOOLS - WHICH HONDA FITS MY BUDGET RESULTS - DEFAULT - HCUC';

                                                        }
                                                        
                                                        s.channel = 'FINANCE TOOLS';
                                                        s.prop8 = zip;
                                                        s.prop9 = 'HCUC INVENTORY SEARCH';
                                                        s.prop10 = Inventory.length;
                                                        s.prop26 = 'BUDGET';
                                                        s.prop27 = 'HCUC';
                                                        s.prop34 = TradeInYear + ':' + TradeInMake + ':' + TradeInModel + ':' + TradeInTrim + ':' + TradeInTransmission;
                                                        s.prop34 = s.prop34.replace(/::/g , '');                                                            
                                                        CallSDotT(s);                                                        
                                                        
                                                    }
                                             }
                                });
                            } else { showErrRev(); }
                         }
            });
        } else { $("#reqFieldErr").show(); }
    }
    
    function showErrRev() {
        setTimeout( function() {
        $("#rightdiv").hide();
        $("#RightDiv2").show();
        $("#Inventories").html("<div style='padding:20px;color:red;font-size:12px;font-weight:bold;'>" + RevResult[0][1] + "</div><div class='clr'></div>");  
        },1);
    }
    
    function moused(i,over) {
        if(over) { 
            document.getElementById('myTR' + i).style.backgroundColor = '#d6d6d6';
            SwitchImg('imgSelect' + i,'/images/tools/finance-tools/btn-select-over.gif');
        }
        else {  
            if (i%2 == 0 ) {
                document.getElementById('myTR' + i).style.backgroundColor = '#eef4fc';
                SwitchImg('imgSelect' + i,'/images/tools/finance-tools/btn-select.gif');
                
            }
            else {
                document.getElementById('myTR' + i).style.backgroundColor = '#e1ecf5';
                SwitchImg('imgSelect' + i,'/images/tools/finance-tools/btn-select.gif');
            }
        }
    }    
    
    // Current Offers Pop Upalert(1)
    
    function showOffer(offerID,evt,modelName , modelYear , modelTrim) {
    
    var e = (window.event) ? window.event : evt;
    if ($.browser.msie) { e.cancelBubble = true; }
	else { e.stopPropagation(); }
    
            for ( var i = 0; i < Offers.length ; i++) {
                if (offerID == Offers[i][0]) {                              
                    $("#offerPopTitle").html(Offers[i][1])
                    $("#offerPopSub").html(Offers[i][2])
                    $("#offerPopDesc").html(Offers[i][4])
                    $("#offerPopDisc").html(Offers[i][5])
                    tb_show("", "#TB_inline?width=500&inlineId=offerPop&modal=true", "");
                    $("#TB_window").css({width: "500px"});
                    $("#TB_ajaxContent").css({height: "auto"});    
                                        
                    // Tracking
                    var sTempPageName = s.pageName;
                    var sTempChannel = s.channel;
                    var sTempProp1 = s.prop1;
                    var sTempProp2 = s.prop2;
                    var sTempProp8 = s.prop8;
                    var sTempProp9 = s.prop9;
                    var sTempProp10 = s.prop10;
                    var sTempProp26 = s.prop26;
                    var sTempProp27 = s.prop27;
                    var sTempProp32 = s.prop32;
                    var sTempProp36 = s.prop36;
                    var sTempProp37 = s.prop37;
                    var sTempEVar3 = s.eVar3;
                    var sTempEVar4 = s.eVar4;
                    var sTempEVar8 = s.eVar8;
                    var sTempEVar9 = s.eVar9;
                    s.pageName = 'CURRENT NATIONAL HCUC FINANCE OFFERS';
                    s.channel = 'OFFERS';
                    s.prop1 = modelName;
                    s.prop2 = modelYear;
                    s.prop8 = '';
                    s.prop9 = '';
                    s.prop10 = '';                    
                    s.prop26 = 'FINANCE';
                    s.prop27 = 'NATIONAL';
                    s.prop32 = '';
                    s.prop36 = '';
                    s.prop37 = 'OFFERS:FINANCE:NATIONAL:CURRENT NATIONAL HCUC FINANCE OFFERS';
                    s.eVar3 = '';
                    s.eVar4 = '';
                    s.eVar8 = '';
                    s.eVar9 = '';
                    CallSDotT(s);
                    // Put old variables back for links
                    s.pageName = sTempPageName;
                    s.channel = sTempChannel;
                    s.prop1 = sTempProp1;
                    s.prop2 = sTempProp2;
                    s.prop8 = sTempProp8;
                    s.prop9 = sTempProp9;
                    s.prop10 = sTempProp10;
                    s.prop26 = sTempProp26;
                    s.prop27 = sTempProp27;
                    s.prop32 = sTempProp32;
                    s.prop36 = sTempProp36;
                    s.prop37 = sTempProp37;
                    s.eVar3 = sTempEVar3;
                    s.eVar4 = sTempEVar4;
                    s.eVar8 = sTempEVar8;
                    s.eVar9 = sTempEVar9;
                    
                    break;

                }
            }
    }
    
    function travel(vin,evt) {
        var e = (window.event) ? window.event : evt;
	    if ($.browser.msie) { e.cancelBubble = true; }
	    else { e.stopPropagation(); }
        window.location = '/certified-used/inventory-vehicle-details.aspx?VIN=' + vin + '&zip=' + $("#customerzip").val();
    }
    
    // hcuc calculator function //
    function ShowInventories() {
    var DataController=new DataControl();
    var tablecell = '<table width="680" border="0" cellspacing="3" cellpadding="2">';
    var offerCurr;
    for (i=0;i<Inventory.length;i++) {
        if(Inventory[i][11] != "") {
                    offerCurr = '<div style="float:right;"><a href="#" onclick="showOffer(' + Inventory[i][11] + ',event, \'' + Inventory[i][12] + '\' , \'' + Inventory[i][0] + '\' , \'' + Inventory[i][1] + '\'); return false;"><img border="0" alt="Offer" title="Offer" src="/images/tools/build-price/icon-offer.png" style="vertical-align: middle;"></a></div>';
                }
                else { 
                    offerCurr = "";
        }
      tablecell += '<tr id="myTR' + i + '" class="InventTR'+(i%2)+'" onclick="travel(\'' +Inventory[i][10] + '\',event);" onmouseover="moused(' + i + ',true);" onmouseout="moused(' + i + ',false);" >\n';
	  tablecell += '<td align="left" class="InventItem'+(i%2)+'" width="40">'+Inventory[i][0]+'</td>\n';
	  tablecell += '<td align="left" class="InventItem'+(i%2)+'" width="200">'+Inventory[i][1] + offerCurr + '</td>\n';
	  tablecell += '<td align="left" class="InventItem'+(i%2)+'" width="40">'+Inventory[i][3]+'</td>\n';
	  tablecell += '<td align="left" class="InventItem'+(i%2)+'" width="70">'+DataController.FormatCurrency(Inventory[i][4])+'</td>\n';
	  tablecell += '<td align="left" class="InventItem'+(i%2)+'" width="80">'+DataController.FormatCurrency(Inventory[i][9])+'</td>\n';
	  tablecell += '<td align="left" class="InventItem'+(i%2)+'" width="50">'+Inventory[i][5]+'</td>\n';
	  tablecell += '<td align="left" class="InventItem'+(i%2)+'" width="60">'+Inventory[i][8]+' mi</td>\n';
	  tablecell += '<td align="left" class="InventItem'+(i%2)+'" width="60"><a href="/certified-used/inventory-vehicle-details.aspx?VIN=' + Inventory[i][10] + '&Zip=' + $("#customerzip").val() + '"><img id="imgSelect' + i +'" src="/images/tools/finance-tools/btn-select.gif" width="59" height="22" border="0" /></a></td>\n';
	  tablecell += '</tr>\n';
        }
      tablecell += '</table>\n';
     $("#Inventories").html(tablecell);
    
    }
    
    
     // --- Begin Sort Functions --- //
        var sortorder = [];
                sortorder[0] = true;
                sortorder[1] = true;
                sortorder[2] = true;
                sortorder[3] = true;
                sortorder[4] = true;
                
        var hcucsortorder = new Array();
                hcucsortorder[0] = true;
                hcucsortorder[1] = true;
                hcucsortorder[2] = true;
                hcucsortorder[3] = true;
                hcucsortorder[4] = true;
                hcucsortorder[5] = true;
                hcucsortorder[6] = true;
                
        var currentsorttype = 0;
        var currenthcucsortype = 0;
        
        
        function HcucSort(sorttype) {
        flipHcucArrow(sorttype);
            if (sorttype) {
            } else {
                sorttype = 0;
            }
            var sortby = 0;
            if (sorttype == 0) {sortby = 0};
            if (sorttype == 1) {sortby = 1};
            if (sorttype == 2) {sortby = 3};
            if (sorttype == 3) {sortby = 4};
            if (sorttype == 4) {sortby = 9};
            if (sorttype == 5) {sortby = 5};
            if (sorttype == 6) {sortby = 8};
            
          if (hcucsortorder[sortby]) {
            hcucsortorder[sortby] = false;
          }
          else {
            hcucsortorder[sortby] = true;
          } 
        currenthcucsortype = sortby;
        Inventory.sort(hcucsorting);
        ShowInventories();
        }
        
        
        
        function TrimSort(sorttype) {
        flipArrow(sorttype);
            if (sorttype) {
            } else {
                sorttype = 0;
            }
            var sortby = 0;
            if (sorttype == 0) {sortby = 0};
            if (sorttype == 1) {sortby = 1};
            if (sorttype == 2) {sortby = 2};
            if (sorttype == 3) {sortby = 4};
            if (sorttype == 4) {sortby = 3};
            
          if (sortorder[sortby]) {
            sortorder[sortby] = false;
          }
          else {
            sortorder[sortby] = true;
          } 
        currentsorttype = sortby;
        ModelTrimList.sort(sorting);
        ShowTrimResults();
        }
        
        
        function hcucsorting(a, b) {
            if (currenthcucsortype != 1 && currenthcucsortype != 3) {
                var x = a[currenthcucsortype];
                var y = b[currenthcucsortype];
                    if (hcucsortorder[currenthcucsortype]) {
                        return y - x;
                    } else {
                        return x - y;
                    }
            } else {
                var x = a[currenthcucsortype].toLowerCase();
                var y = b[currenthcucsortype].toLowerCase();
                    if (hcucsortorder[currenthcucsortype]) {
                        return ((x < y) ? 1 : ((x > y) ? -1 : 0));
                    } else {
                        return ((x < y) ? -1 : ((x > y) ? 1 : 0));
                    }
            }
        }
        
        function sorting(a, b) {
            if (currentsorttype != 0 && currentsorttype != 1 && currentsorttype != 2) {
                var x = a[currentsorttype];
                var y = b[currentsorttype];
                    if (sortorder[currentsorttype]) {
                        return y - x;
                    } else {
                        return x - y;
                    }
            } else {
                var x = a[currentsorttype].toLowerCase();
                var y = b[currentsorttype].toLowerCase();
                    if (sortorder[currentsorttype]) {
                        return ((x < y) ? 1 : ((x > y) ? -1 : 0));
                    } else {
                        return ((x < y) ? -1 : ((x > y) ? 1 : 0));
                    }
            }
        }
  // --- End Sort Functions --- //

function itmSelect(selectID,selectVal) {
    var mySelect = document.getElementById(selectID);
    for ( var i = 0; i <= mySelect.options.length -1; i++ ) {
        if ( mySelect.options[i].value == selectVal ) {
            document.getElementById(selectID).options[i].selected = true;
            break;
        }
    }
    
}


//PRICE TAG
//
//These functions handle showing the shopping tool's price tag, as well as setting its text
function ShowPricetag(){
    $("#priceTag").animate({marginTop: "0px"}, 1000, "easeOutBounce");
}

function RetractPricetag(){
    $("#priceTag").animate({marginTop: "-200px"}, 500);
}

function FormatCurrency(sNum) {
        sNum = sNum.toString().replace(/\$|\,/g,'');
    	
        if(isNaN(sNum))
	        sNum = "0";
    	
        var sTemp = sNum;
    	
        var bSign = (Number(sNum) == (sNum = Math.abs(sNum)));
        sNum = Math.floor(sNum*100+0.50000000001);
        var sCents = sNum%100;
        sNum = Math.floor(sNum/100).toString();
    	
        if(sCents<10)
	        sCents = "0" + sCents;

        for (var i = 0; i < Math.floor((sNum.length-(1+i))/3); i++)
	        sNum = sNum.substring(0,sNum.length-(4*i+3))+ ',' + sNum.substring(sNum.length-(4*i+3));

        return (((bSign)?'':'-') + '$' + sNum + '.' + sCents);
    }
    
function setPriceTag(msrp, dhCost, ModelYear, ModelName, Trim, Trans,modelid,enableLeasing){
    setTimeout(function(){
        var priceTagContent = '';
        
        priceTagContent += "<div id='priceTagContent'>";
        priceTagContent += "<div class='priceTagLeft'>";        
        priceTagContent += "<div class='priceTagTitle'>" + ModelYear + " " + ModelName + "&nbsp<span class='mname'>" + DedupeModelTrim(ModelName,Trim) + "</span></div>";
        priceTagContent += "<div class='priceTagTransmission'>" + Trans + " Transmission</div>";
        priceTagContent += "<div class='priceTagStandardFeatures'><a href='javascript:standardFeatures(\"" + ModelName + "\", \"" + ModelYear + "\",\"" + modelid + "\");'>Standard Features</a></div>";
        priceTagContent += "</div>";
        
        priceTagContent += "<div class='priceTagRight'>";
        priceTagContent += "<div class='priceTagPrice' id='priceTagPrice'>" + removeDecimal(calcMsrp(msrp, dhCost)) + "</div>";
        priceTagContent += "<div class='priceTagMSRPLabel'>Total MSRP<sup>[ 2 ]</sup></div>";        
        priceTagContent += "</div>";
        
        priceTagContent += "<div class='clr'></div>";
        priceTagContent += "<div class='monthlyPaymentDiv'>Monthly Payments &nbsp;&nbsp;&nbsp;&nbsp;<a href='javascript:EstimatePayments(\"" + modelid + "\", \"" + msrp + "\", \"" + "testing" + "\", \"" + dhCost + "\");'>Calculate</a> | <a id='showLink' href='javascript:priceTagInfoToggle();'>Show</a></div>";
        priceTagContent += "<div class='monthlyPaymentDiv' style='margin-left:190px;margin-top:5px;'><a href='javascript:priceTagInfoToggle();'><img id='imgToggle' src='/images/tools/finance-tools/arrow-show.gif' /></a></div>";
        
        priceTagContent += "<div class='priceTagCalculateField'>";
        priceTagContent += "<div class='tit'>Lease It</div>";        
        priceTagContent += "<div class='sub'>Estimated Monthly Payment</div>";        
        priceTagContent += "<div id='priceTagLeaseMonthly' class='calcPrice'>$---.--</div>";        
        priceTagContent += "</div>";
        
        priceTagContent += "<div class='priceTagCalculateField' style='margin-left:15px;'>";
        priceTagContent += "<div class='tit'>Finance It</div>";        
        priceTagContent += "<div class='sub'>Estimated Monthly Payment</div>";        
        priceTagContent += "<div id='priceTagFinanceMonthly' class='calcPrice'>$---.--</div>";        
        priceTagContent += "</div><div id='CompareResults'></div>";
        
        priceTagContent += "</div>";
        priceTagContent += "<div><img src='/images/tools/shopping/pricetag-bottom.gif'></div>";
        
        $("#priceTag").html(priceTagContent);
        EstimatePayments(modelid,msrp,"",dhCost,ModelName);
    }, 100);
    
}


//PAYMENT ESTIMATOR
function EstimatePayments(modelid,price,title,dhCost,mGroup){
    if ( title == "" ) {
        var CVars = new CalcVars(mGroup);
        CVars.load();

        $("#CompareResults").load('/handlers/tools/shopping/comparecalculator.ashx?msrp='+ price +'&fterm='+ CVars.FTerm +'&lterm='+CVars.LTerm+'&downpayment='+CVars.DownPayment+'&mileage='+CVars.Mileage+'&apr='+CVars.APR+'&modelid='+modelid+'&tradein='+ CVars.TradeInVal +'&owed='+CVars.TradeInOwed + '&dc=' + dhCost, function(data) {
            if (CalResult[0][0] == '0') { 
                $("#priceTagLeaseMonthly").html( "$" + CalResult[0][2]);
                $("#priceTagFinanceMonthly").html( "$" + CalResult[0][1]);
                if ( CalResult[0][1] == '0' ) parent.$(".priceTagFinanceMonthly").html("$--");
                if ( CalResult[0][2] == '0' ) parent.$("#priceTagLeaseMonthly").html("$--");                
            } else {
                $("#ErrorMsg").html(CalResult[0][1]);
            }
        });
    }
    else {
            tb_show("","/tools/finance-tools/payment-estimator-pop-up.aspx?title=" + title.replace(/\ /g,'%20') + "&price=" + price + "&modelid=" + modelid + "&dc=" + dhCost + "&width=750&amp;TB_iframe=true&amp;height=570&amp;modal=true","");
    }
}

function CalcVars(ModelGroup,Certified) {

    this.ModelGroup = ModelGroup;
    this.APR = '5';
    this.CertifiedAPR = '12';
    this.FTerm = '60';
    this.LTerm = '36';
    this.DownPayment = '0';
    this.Mileage = "12,000";
    this.TradeInVal = '0';
    this.TradeInOwed = '0';
    this.Certified = Certified;
    
    this.load = function() {
        if ( GetCookie("calculatorVars") ) {
            var arr = GetCookie("calculatorVars").split(";");
            if(this.ModelGroup == arr[0].split("=")[1]) {
                if( arr[1].split("=")[1] != "") this.APR = arr[1].split("=")[1];
                if( arr[2].split("=")[1] != "") this.FTerm = arr[2].split("=")[1];
                if( arr[3].split("=")[1] != "") this.LTerm = arr[3].split("=")[1];
                if( arr[4].split("=")[1] != "") this.DownPayment = arr[4].split("=")[1];
                if( arr[5].split("=")[1] != "") this.Mileage = arr[5].split("=")[1];
                if( arr[6].split("=")[1] != "") this.TradeInVal = arr[6].split("=")[1];
                if( arr[7].split("=")[1] != "") this.TradeInOwed = arr[7].split("=")[1];
                if( arr[8].split("=")[1] != "") this.CertifiedAPR = arr[8].split("=")[1];
                if( this.Certified = true ) { this.APR == this.CertifiedAPR }
            }
        }
    }
    
    this.save = function() {
        var CookieTxt = "";
        CookieTxt += "ModelID=" + this.ModelGroup + ";";
        CookieTxt += "APR=" + this.APR + ";";
        CookieTxt += "FTerm=" + this.FTerm + ";";
        CookieTxt += "LTerm=" + this.LTerm + ";";
        CookieTxt += "DownPayment=" + this.DownPayment + ";";
        CookieTxt += "Mileage=" + this.Mileage + ";";
        CookieTxt += "TradeInVal=" + this.TradeInVal + ";";
        CookieTxt += "TradeInOwed=" + this.TradeInOwed + ";";
        CookieTxt += "CertifiedAPR=" + this.CertifiedAPR;
        SetCookie("calculatorVars", CookieTxt);
    }
}

function priceTagInfoToggle() {
    if ( $("#imgToggle")[0].src.indexOf("-show.gif") != -1 ) {
        $("#imgToggle")[0].src = $("#imgToggle")[0].src.replace("-show.gif","-hide.gif");
        $("#priceTagContent").animate({height:"135px"},500);
        $("#showLink").text("Hide");
    }
    else {
        $("#imgToggle")[0].src = $("#imgToggle")[0].src.replace("-hide.gif","-show.gif");
        $("#priceTagContent").animate({height:"90px"},500);
        $("#showLink").text("Show");
    }
}

//STANDARD FEATURES
function standardFeatures(modelname,year,modelid) {
    modelname = (!modelname || modelname == "") ? sModelName : modelname;
    year = (!year || year == "") ? sModelYear : year;
    modelid = (!modelid || modelid == "") ? sModelID : modelid;
    tb_show("","/tools/standard-features-pop-up.aspx?name=" + modelname.replace(/\ /g,'%20') + "&year=" + year + "&id=" + modelid + "&width=801&amp;TB_iframe=true&amp;height=490&amp;modal=true","")
    
    // Tracking
    var sTempPageName = s.pageName;
    var sTempChannel = s.channel;
    var sTempProp26 = s.prop26;
    var sTempProp27 = s.prop27;
    var sTempProp37 = s.prop37;
    var sTempEvents = s.events;
    s.pageName = 'STANDARD FEATURES';
    s.channel = 'FEATURES';
    s.prop26 = 'STANDARD';
    s.prop27 = 'DEFAULT';
    s.prop37 = 'FEATURES:STANDARD:DEFAULT:STANDARD FEATURES';
    s.events = '';
    CallSDotT(s);
    // Put old variables back for links
    s.pageName = sTempPageName;
    s.channel = sTempChannel;
    s.prop26 = sTempProp26;
    s.prop27 = sTempProp27;
    s.prop37 = sTempProp37;
    s.events = sTempEvents;

}

//DETAIL BUBBLE
//
//These functions handle the detail panel that slides out from behind the shopping tools menu
var canvasMenuSlideSpeed = 400;

//detailHTML is the HTML to be placed inside the detail bubble
function SlideDetailBubble(detailHTML){
    if (!$("#detail-bubble").is(":visible")){
        $("#detail-bubble").html(detailHTML);
        setTimeout(function(){$("#detail-bubble").css({display: "block"}).animate({left: "363px"}, canvasMenuSlideSpeed);}, 25);
    }
}

function ExpandDetailBubble(detailHTML){
    if (!$("#detail-bubble").is(":visible")){
        $("#detail-bubble").css({left: "363px"}).html(detailHTML).show(canvasMenuSlideSpeed);
    }
}

function AdjustDetailBubble(detailHTML, autoAdjustSize){
    if (autoAdjustSize == null){ autoAdjustSize = true; }
    
    if ($("#detail-bubble").is(":visible")){
        $("#pre-detail-change").html(detailHTML);
        setTimeout(function(){
            if (autoAdjustSize){
                $("#detail-bubble").animate({height: ($("#pre-detail-change")[0].offsetHeight - 20) + "px"}, canvasMenuSlideSpeed).html($("#pre-detail-change").html());
            }else{
                 $("#detail-bubble").html($("#pre-detail-change").html());
            }
        }, 25);
    }
}

function ShowDetailBubble(detailHTML, forceShow){
    if (!$("#detail-bubble").is(":visible") || forceShow){
        $("#detail-bubble").html(detailHTML);
        setTimeout(function(){ $("#detail-bubble").css({display: "block", left: "363px"}); }, 25);
    }
}

function HideDetailBubble(){
    if ($("#detail-bubble").is(":visible")){
        $("#detail-bubble").stop(true, true).css({display: "none", left: "0px", height: ""}).html("");
    }
}

//To animate hiding the detail bubble - companion to SlideDetailBubble
function SlideOutDetailBubble(){
    if ($("#detail-bubble").is(":visible")){
        setTimeout(HideDetailBubble, canvasMenuSlideSpeed - 100);
        $("#detail-bubble").animate({left: "0px"}, canvasMenuSlideSpeed);
    }
}

//To animate hiding the detail bubble - companion to ExpandDetailBubble
function ShrinkOutDetailBubble(){
    if ($("#detail-bubble").is(":visible")){
        setTimeout(HideDetailBubble, canvasMenuSlideSpeed + 25);
        $("#detail-bubble").hide(canvasMenuSlideSpeed);
    }
}

//CHECKBOX LIST
//
//This function handles the task of adding functionality to listitems with checkboxes as children
//
//matchStr is the jquery selector to use to find the listitems on the page (ie ".side-nav > li")
//listType is a string used to distinguish what happens when the li is clicked
function SetListItems(matchStr, listType){
    $(matchStr).each(function(){
        $(this).mouseover(function(){
            $(this).addClass('select');
        }).mouseout(function(){
            if (!this.firstChild.checked){
                $(this).removeClass('select');
            }
        }).click(function(){
            if (!$(this).is(".inactiveCbLi")){
                $(this).addClass('select');
                this.firstChild.checked = !this.firstChild.checked;
                if (listType == "modelFilters"){
                    FilterModels(this.firstChild);
                }
                if (listType == "accList"){
                    SwapAccSelection($(this.firstChild).val(), this.firstChild.checked);
                }
            }
        }).children().click(function(){
            this.checked = !this.checked;
        });
    });
}

//The checkbox in a Checkbox List has the id on it - so if you find that you need to select a list item
//in a Checkbox List dynamically, you can do so with this function
//
//checkboxId - the id of the checkbox who's parent list-item you need to set as selected
function SwitchListItemFromCheckbox(checkboxId){
    if ($("#" + checkboxId).length > 0){
        if (!$("#" + checkboxId)[0].checked){
            $("#" + checkboxId).parent().addClass('select');
            $("#" + checkboxId)[0].checked = true;
        }else{
            $("#" + checkboxId).parent().removeClass('select');
            $("#" + checkboxId)[0].checked = false;
        }
    }
}

//In some cases it may be necessary to prevent a checkbox list item from being selectable - this function toggles
//an item's selectability
//
//checkboxId - the id of the checkbox who's parent list-item you need to set as inactive
function SwitchListItemActive(checkboxId){
    if ($("#" + checkboxId).length > 0){
        if ($("#" + checkboxId)[0].disabled){
            $("#" + checkboxId).attr("disabled", "");
            $("#" + checkboxId).parent().removeClass('inactiveCbLi');
        }else{
            $("#" + checkboxId).attr("disabled", "disabled");
            $("#" + checkboxId).parent().addClass('inactiveCbLi');
        }
    }
}

//BASE CAR PHOTO
//
//This function builds the base car photo, as well as the front/rear buttons
//
//exColorId is a string value of the exterior color id, if known - Optional
//inColorId is a string value of the interior color id, if known - Optional
//givenModelId is a string value of model id, if it's not apart of the query string yet (ie on the trims page) - Optional
function ShowCarPhoto(givenModelId, exColorId, inColorId, smallerSize){
    var modelId = "";
    if (givenModelId && givenModelId != ""){
        modelId = givenModelId;
    }else{
        modelId = (sModelID == "null") ? "" : sModelID;
    }
    
    var modelListIndex = (modelId == "") ? (modelList.length - 1) : -1;
    if (modelListIndex == -1){
        for(var i=0;i<modelList.length;++i){
            if (modelList[i][1] == modelId){
                modelListIndex = i;
            }
        }
    }

    if (modelListIndex > -1) {
        var frontPhotoPath = GetBaseCarPhotoPath(modelListIndex, exColorId, inColorId, "FRONT");
        var rearPhotoPath = GetBaseCarPhotoPath(modelListIndex, exColorId, inColorId, "REAR");
        
        var tempFrontImg = new Image();
        var tempRearImg = new Image();
        tempFrontImg.src = frontPhotoPath;
        tempRearImg.src = rearPhotoPath;
        
        setTimeout(function(){
            AddPhotoDivs(frontPhotoPath, rearPhotoPath, smallerSize);
            
            $("#frontViewBtn").unbind();
            $("#rearViewBtn").unbind();
            $("#frontViewBtn").click(function(){ SwitchCarPhoto("FRONT"); });
            $("#rearViewBtn").click(function(){ SwitchCarPhoto("REAR"); });
        }, 100);
    }
}

//switchTo - either "FRONT" or "REAR"
function SwitchCarPhoto(switchTo){
    switchTo = (switchTo && switchTo != "") ? switchTo.toUpperCase() : "FRONT";
    var currentPhotoType = $("#rearPhotosDiv").is(":visible") ? "REAR" : "FRONT";
    var doSwitch = true;
    
    if (currentPhotoType != switchTo){
        if (currentPhotoType == "FRONT"){
            currentPhotoType = "REAR";
            $("#frontViewBtn").attr("src", "/images/tools/build-price/btn-frontview.gif");
            $("#frontViewBtn").css({cursor: "pointer"});
            $("#rearViewBtn").attr("src", "/images/tools/build-price/btn-rearview-select.gif");
            $("#rearViewBtn").css({cursor: "default"});
        }else if (currentPhotoType == "REAR"){
            currentPhotoType = "FRONT";
            $("#frontViewBtn").attr("src", "/images/tools/build-price/btn-frontview-select.gif");
            $("#frontViewBtn").css({cursor: "default"});
            $("#rearViewBtn").attr("src", "/images/tools/build-price/btn-rearview.gif");
            $("#rearViewBtn").css({cursor: "pointer"});
        }
    }else{
        doSwitch = false;
    }
    
    if (doSwitch){
        $("#frontPhotosDiv").animate({opacity: "toggle"}, 600);
        $("#rearPhotosDiv").animate({opacity: "toggle"}, 600);
    }
}

//type is a string: either "FRONT" or "REAR" - defaults to "FRONT"
function GetBaseCarPhotoPath(modelListIndex, exColorId, inColorId, type){
    var path = "";
    type = (type == null || type == "") ? "FRONT" : type.toUpperCase();
    
    if (!exColorId || exColorId == "" || modelList[modelListIndex][6].indexOf(exColorId) == -1){
        for(var i=0;i<exColorList.length;++i){
            if (modelList[modelListIndex][6].indexOf(exColorList[i][6]) > -1){
                exColorId = exColorList[i][6];
                break;
            }
        }
    }
    
    var exInColors = "";
    $.each(exColorList, function(){
        if(this[6] == exColorId){
            exInColors = this[5];
            return false;
        }
    });
    
    var modelStartIndex = exInColors.indexOf(modelList[modelListIndex][1] + "~");
    var modelEndIndex = exInColors.substr(modelStartIndex).indexOf("/");
    
    var modelExInColors = "";
    if (modelEndIndex == -1){
        modelExInColors = exInColors.substr(modelStartIndex);
    }else{
        modelExInColors = exInColors.substr(modelStartIndex, (modelEndIndex - modelStartIndex));
    }
    
    if (exInColors != "" && (!inColorId || inColorId == "" || modelExInColors.indexOf(inColorId) == -1)){
        var indexStartInColors = modelExInColors.indexOf("~")+1;
        var endFirstInColor = modelExInColors.indexOf("|");
        
        if (endFirstInColor == -1){
            inColorId = modelExInColors.substr(indexStartInColors);
        }else{
            inColorId = modelExInColors.substr(indexStartInColors, (endFirstInColor - indexStartInColors));
        }
    }
    
    $.each(baseCarPhotoList, function(){
        if (modelList[modelListIndex][5].indexOf($(this)[0]) > -1){                
            if ($(this)[2].indexOf(exColorId) > -1 && $(this)[2].indexOf(inColorId) > -1){            
                if ($(this)[1].indexOf(type) > -1){
                    path = $(this)[1];
                }
            }
        }
    });
    
    return path;
}

var photoCount = 0;
function AddPhotoDivs(frontPhotoPath, rearPhotoPath, smallerSize){
    if (smallerSize){
        frontPhotoPath = GetCarImageSize(frontPhotoPath, 300, 200);
        rearPhotoPath = GetCarImageSize(rearPhotoPath, 300, 200);
    }
    
    var frontSRC = $.browser.msie ? "/images/trans.gif" : escape(frontPhotoPath);
    var rearSRC = $.browser.msie ? "/images/trans.gif" : escape(rearPhotoPath);
    var imageSizeStyle = smallerSize ? "height: 200px; width: 300px;" : "height: 450px; width: 550px;";
    
    if ($("#threeQuartFrontImg").length == 0){
        var frontPhoto = "<div id=\"threeQuartFrontImg\"><div id=\"front" + photoCount + "\" style=\"position: absolute;\"><img id=\"frontImg\" src=\"" + frontSRC + "\" style=\"" + imageSizeStyle + " filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + escape(frontPhotoPath) + "',sizingMethod='scale');\" /></div></div>";
        var rearPhoto = "<div id=\"threeQuartRearImg\"><div id=\"rear" + photoCount + "\" style=\"position: absolute;\"><img id=\"rearImg\" src=\"" + rearSRC + "\" style=\"" + imageSizeStyle + " filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + escape(rearPhotoPath) + "',sizingMethod='scale');\" /></div></div>";
        var frBtns = "<img id=\"frontViewBtn\" style=\"cursor: default;\" alt=\"FRONT\" title=\"FRONT\" src=\"/images/tools/build-price/btn-frontview-select.gif\" /><img id=\"rearViewBtn\" alt=\"REAR\" title=\"REAR\" src=\"/images/tools/build-price/btn-rearview.gif\" />";
        
        if ($("#frontPhotosDiv").length > 0){ $("#frontPhotosDiv").html(frontPhoto); }
        if ($("#rearPhotosDiv").length > 0){ $("#rearPhotosDiv").html(rearPhoto); }
        if ($("#photoBtnsDiv").length > 0){ $("#photoBtnsDiv").html(frBtns); }
    }else{
        if ($("#frontImg").attr("src") != frontSRC){
            var existPhotoNum = photoCount;
            ++photoCount;
            var newPhotoNum = photoCount;
            
            var frontHTML = $("#threeQuartFrontImg").html();
            $("#threeQuartFrontImg").html(frontHTML + "<div id=\"front" + newPhotoNum + "\" style=\"display: none; position: absolute;\"><img id=\"frontImg\" src=\"" + frontSRC + "\" style=\"" + imageSizeStyle + " filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + escape(frontPhotoPath) + "',sizingMethod='scale');\" /></div>");
            $("#front" + newPhotoNum).fadeIn(600);
            setTimeout(function(){
                $("#front" + existPhotoNum).fadeOut(700, function(){
                    $("#front" + existPhotoNum).remove();
                });
            }, 150);
            
            var rearHTML = $("#threeQuartRearImg").html();
            $("#threeQuartRearImg").html(rearHTML + "<div id=\"rear" + newPhotoNum + "\" style=\"display: none; position: absolute;\"><img id=\"rearImg\" src=\"" + rearSRC + "\" style=\"" + imageSizeStyle + " filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + escape(rearPhotoPath) + "',sizingMethod='scale');\" /></div>");
            $("#rear" + newPhotoNum).fadeIn(600);
            setTimeout(function(){
                $("#rear" + existPhotoNum).fadeOut(700, function(){
                    $("#rear" + existPhotoNum).remove();
                });
            }, 150);
        }
        
        //$("#threeQuartFrontImg > img").attr("src", frontSRC);
        //$("#threeQuartRearImg > img").attr("src", rearSRC);
        //$("#threeQuartFrontImg > img").attr("style", "" + imageSizeStyle + " filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + escape(frontPhotoPath) + "',sizingMethod='scale');");
        //$("#threeQuartRearImg > img").attr("style", "" + imageSizeStyle + " filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + escape(rearPhotoPath) + "',sizingMethod='scale');");
    }
}

//FORWARD/BACKWARD BUTTONS
//
//Since the shopping controls are shared between Build and Price, Request a Quote, etc.
//we needed a way to get their back/next buttons to go to different places.  The solution was to put javascript variables
//on each page that the controls would assume were there.  Those variables are called:
//ForwardPage
//BackwardPage
//QueryStringsToAdd
//QueryStringsToRemove
//So a call to this function from one of the shopping controls might be:  GoForwardBack(ForwardPage, QueryStringsToAdd) or GoForwardBack(BackwardPage, "", QueryStringsToRemove)
//
//newPage is the name of the page you're going to (ie ForwardPage or BackwardPage) - example: "models.aspx"
//queryStringsToAdd is a pipe separated string of the name/value pairs (separated by a forward-slash just like that) of query strings to add, if any - example: "modelId/1234R|modelYear/1900"
//queryStringsToRemove is a pipe separated string of the names of query strings to remove, if any - example: "modelId|modelYear"
function GoForwardBack(newPage, queryStringsToAdd, queryStringsToRemove, source){
    var tempQueryStr = window.location.search;
    var winLoc = window.location.toString().replace(tempQueryStr, "");
    
    if (queryStringsToAdd && queryStringsToAdd != "" && tempQueryStr != ""){
        //First, check for their existence in the current url
        var pairs = queryStringsToAdd.split("|");
        $.each(pairs, function(){
            var pair = this.split("/");
            if (tempQueryStr.indexOf(pair[0]) > -1){
                queryStringsToRemove += "|" + pair[0];
            }
        });
    }
    if (queryStringsToRemove && tempQueryStr != ""){
        //Next, remove all query strings to be removed
        var names = queryStringsToRemove.split("|");
        $.each(names, function(){
            if (tempQueryStr.indexOf(this) > -1){
                var removeVal = $.getQueryString({id:this});
                var removeStr = this + "=" + removeVal;
                tempQueryStr = tempQueryStr.replace(removeStr, "").replace(removeStr.replace(/ /g, "%20"), "");
                tempQueryStr = tempQueryStr.replace("&&", "&").replace("?&", "?");
            }
        });
    }
    if (queryStringsToAdd && queryStringsToAdd != ""){
        //Last, add all query strings to be added
        var pairs = queryStringsToAdd.split("|");
        $.each(pairs, function(){
            var pair = this.split("/");
            if (pair.length == 2){
                if (tempQueryStr.length == 0){
                    tempQueryStr += "?" + pair[0] + "=" + pair[1];
                }else{
                    tempQueryStr += "&" + pair[0] + "=" + pair[1];
                }
            }
        });
    }
    
    tempQueryStr = tempQueryStr.length > 1 ? tempQueryStr.replace("&&", "&").replace("?&", "?") : "";
    tempQueryStr = tempQueryStr.lastIndexOf("&") == tempQueryStr.length-1 ? tempQueryStr.substr(0,tempQueryStr.length-1) : tempQueryStr;
    
    TrackNavigationChange(source);
    
    documentDotLocation(newPage + tempQueryStr);
}

function TrackNavigationChange(source) {

    // Tracking based on source
    s.linkTrackVars = 'prop26,prop27,prop37,eVar26,eVar27';
    switch (source) {
        case 'raq_1_vehandzip':
            s.prop26 = 'COLORS';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'RAQ:COLORS:DEFAULT:RAQ - SELECT COLORS';
            CallSDotTL(s , true , 'RAQ:COLORS:BACKWARD:VEHICLE & ZIP CODE TOP NAV LINK' , 'o');
            break;
        case 'raq_2_vehandzip':
            s.prop26 = 'DEALER';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'RAQ:DEALER:DEFAULT:RAQ - SELECT A DEALER';
            CallSDotTL(s , true , 'RAQ:DEALER:BACKWARD:VEHICLE & ZIP CODE TOP NAV LINK' , 'o');
            break;
        case 'raq_3_vehandzip':
            s.prop26 = 'CONTACT';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'RAQ:CONTACT:DEFAULT:RAQ - ENTER CONTACT INFORMATION';
            CallSDotTL(s , true , 'RAQ:CONTACT:BACKWARD:VEHICLE & ZIP CODE TOP NAV LINK' , 'o');
            break;
        case 'raq_2_colors':
            s.prop26 = 'DEALER';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'RAQ:DEALER:DEFAULT:RAQ - SELECT A DEALER';
            CallSDotTL(s , true , 'RAQ:DEALER:BACKWARD:COLORS TOP NAV LINK' , 'o');
            break;
        case 'raq_3_colors':
            s.prop26 = 'CONTACT';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'RAQ:CONTACT:DEFAULT:RAQ - ENTER CONTACT INFORMATION';
            CallSDotTL(s , true , 'RAQ:CONTACT:BACKWARD:COLORS TOP NAV LINK' , 'o');
            break;
        case 'raq_1_dealer':
            s.prop26 = 'COLORS';
            s.prop27 = 'FORWARD';
            s.prop37 = 'RAQ:COLORS:DEFAULT:RAQ - SELECT COLORS';
            CallSDotTL(s , true , 'RAQ:COLORS:FORWARD:DEALER TOP NAV LINK' , 'o');
            break;
        case 'raq_3_dealer':
            s.prop26 = 'CONTACT';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'RAQ:CONTACT:DEFAULT:RAQ - ENTER CONTACT INFORMATION';
            CallSDotTL(s , true , 'RAQ:CONTACT:BACKWARD:DEALER TOP NAV LINK' , 'o');
            break;
        case 'raq_colors_back':
            s.prop26 = 'COLORS';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'RAQ:COLORS:DEFAULT:RAQ - SELECT COLORS';
            CallSDotTL(s , true , 'RAQ:COLORS:BACKWARD:BACK LINK' , 'o');
            break;
        case 'raq_colors_nextbtn':
            s.prop26 = 'COLORS';
            s.prop27 = 'FORWARD';
            s.prop37 = 'RAQ:COLORS:DEFAULT:RAQ - SELECT COLORS';
            CallSDotTL(s , true , 'RAQ:COLORS:FORWARD:NEXT:SELECT A DEALER LINK' , 'o');
            break;
        case 'bnp_colors_back':
            s.prop26 = 'COLORS';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'BUILD & PRICE:COLORS:DEFAULT:B&P - SELECT COLORS';
            CallSDotTL(s , true , 'BUILD & PRICE:COLORS:BACKWARD:BACK LINK' , 'o');
            break;
        case 'bnp_colors_nextbtn':
            s.prop26 = 'COLORS';
            s.prop27 = 'FORWARD';
            s.prop37 = 'BUILD & PRICE:COLORS:DEFAULT:B&P - SELECT COLORS';
            CallSDotTL(s , true , 'BUILD & PRICE:COLORS:FORWARD:NEXT:ACCESSORIES LINK' , 'o');
            break;
        case 'bnp_accessories_back':
            s.prop26 = 'ACCESSORIES';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'BUILD & PRICE:ACCESSORIES:DEFAULT:B&P - SELECT ACCESSORIES';
            CallSDotTL(s , true , 'BUILD & PRICE:ACCESSORIES:BACKWARD:BACK LINK' , 'o');
            break;
        case 'bnp_accessories_nextbtn':
            s.prop26 = 'ACCESSORIES';
            s.prop27 = 'FORWARD';
            s.prop37 = 'BUILD & PRICE:ACCESSORIES:DEFAULT:B&P - SELECT ACCESSORIES';
            CallSDotTL(s , true , 'BUILD & PRICE:COLORS:FORWARD:NEXT:SUMMARY LINK' , 'o');
            break;
        case 'bnp_summary_startover':
            s.prop26 = 'SUMMARY';
            s.prop27 = 'RESET';
            s.prop37 = 'BUILD & PRICE:SUMMARY:DEFAULT:B&P - SUMMARY';
            CallSDotTL(s , true , 'BUILD & PRICE:SUMMARY:RESET:START OVER LINK' , 'o');
            break;
        case 'bnp_confirm_startover':
            s.prop26 = 'QUOTE';
            s.prop27 = 'RESET';
            s.prop37 = 'BUILD & PRICE:QUOTE:DEFAULT:B&P - QUOTE REQUEST CONFIRMATION';
            CallSDotTL(s , true , 'BUILD & PRICE:QUOTE:RESET:START OVER LINK' , 'o');
            break;
        case 'bnp_2_hondatab':
            s.prop26 = 'MODEL';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'BUILD & PRICE:MODEL:DEFAULT:B&P - SELECT A MODEL';
            CallSDotTL(s , true , 'BUILD & PRICE:MODEL:BACKWARD:HONDA NAV LINK' , 'o');
            break;
        case 'bnp_2_colortab':
            s.prop26 = 'MODEL';
            s.prop27 = 'FORWARD';
            s.prop37 = 'BUILD & PRICE:MODEL:DEFAULT:B&P - SELECT A MODEL';
            CallSDotTL(s , true , 'BUILD & PRICE:MODEL:FORWARD:COLORS NAV LINK' , 'o');
            break;
        case 'bnp_3_hondatab':
            s.prop26 = 'COLORS';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'BUILD & PRICE:COLORS:DEFAULT:B&P - SELECT COLORS';
            CallSDotTL(s , true , 'BUILD & PRICE:COLORS:BACKWARD:HONDA NAV LINK' , 'o');
            break;
        case 'bnp_3_modeltab':
            s.prop26 = 'COLORS';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'BUILD & PRICE:COLORS:DEFAULT:B&P - SELECT COLORS';
            CallSDotTL(s , true , 'BUILD & PRICE:COLORS:BACKWARD:MODEL NAV LINK' , 'o');
            break;
        case 'bnp_3_acctab':
            s.prop26 = 'COLORS';
            s.prop27 = 'FORWARD';
            s.prop37 = 'BUILD & PRICE:COLORS:DEFAULT:B&P - SELECT COLORS';
            CallSDotTL(s , true , 'BUILD & PRICE:COLORS:FORWARD:ACCESSORIES NAV LINK' , 'o');
            break;
        case 'bnp_3_summarytab':
            s.prop26 = 'COLORS';
            s.prop27 = 'FORWARD';
            s.prop37 = 'BUILD & PRICE:COLORS:DEFAULT:B&P - SELECT COLORS';
            CallSDotTL(s , true , 'BUILD & PRICE:COLORS:FORWARD:SUMMARY NAV LINK' , 'o');
            break;
        case 'bnp_4_hondatab':
            s.prop26 = 'ACCESSORIES';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'BUILD & PRICE:ACCESSORIES:DEFAULT:B&P - SELECT ACCESSORIES';
            CallSDotTL(s , true , 'BUILD & PRICE:ACCESSORIES:BACKWARD:HONDA NAV LINK' , 'o');
            break;
        case 'bnp_4_modeltab':
            s.prop26 = 'ACCESSORIES';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'BUILD & PRICE:ACCESSORIES:DEFAULT:B&P - SELECT ACCESSORIES';
            CallSDotTL(s , true , 'BUILD & PRICE:ACCESSORIES:BACKWARD:MODEL NAV LINK' , 'o');
            break;
        case 'bnp_4_colortab':
            s.prop26 = 'MODEL';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'BUILD & PRICE:MODEL:DEFAULT:B&P - SELECT ACCESSORIES';
            CallSDotTL(s , true , 'BUILD & PRICE:MODEL:BACKWARD:COLORS NAV LINK' , 'o');
            break;
        case 'bnp_4_summarytab':
            s.prop26 = 'ACCESSORIES';
            s.prop27 = 'FORWARD';
            s.prop37 = 'BUILD & PRICE:ACCESSORIES:DEFAULT:B&P - SELECT ACCESSORIES';
            CallSDotTL(s , true , 'BUILD & PRICE:ACCESSORIES:FORWARD:SUMMARY NAV LINK' , 'o');
            break;
        case 'bnp_5_hondatab':
            s.prop26 = 'SUMMARY';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'BUILD & PRICE:SUMMARY:DEFAULT:B&P - SUMMARY';
            CallSDotTL(s , true , 'BUILD & PRICE:SUMMARY:BACKWARD:HONDA NAV LINK' , 'o');
            break;
        case 'bnp_5_modeltab':
            s.prop26 = 'SUMMARY';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'BUILD & PRICE:SUMMARY:DEFAULT:B&P - SUMMARY';
            CallSDotTL(s , true , 'BUILD & PRICE:SUMMARY:BACKWARD:MODEL NAV LINK' , 'o');
            break;
        case 'bnp_5_colortab':
            s.prop26 = 'SUMMARY';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'BUILD & PRICE:SUMMARY:DEFAULT:B&P - SUMMARY';
            CallSDotTL(s , true , 'BUILD & PRICE:SUMMARY:BACKWARD:COLORS NAV LINK' , 'o');
            break;
        case 'bnp_5_acctab':
            s.prop26 = 'SUMMARY';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'BUILD & PRICE:SUMMARY:DEFAULT:B&P - SUMMARY';
            CallSDotTL(s , true , 'BUILD & PRICE:SUMMARY:BACKWARD:ACCESSORIES NAV LINK' , 'o');
            break;
        case 'raq_trims_accordionback':
            s.prop26 = 'VEHICLE';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'RAQ:VEHICLE:HELP:RAQ - HELP ME SELECT A TRIM';
            CallSDotTL(s , true , 'RAQ:VEHICLE:BACKWARD:BACK LINK' , 'o');
            break;
        case 'bnp_trims_accordionback':
            s.prop26 = 'MODEL';
            s.prop27 = 'BACKWARD';
            s.prop37 = 'BUILD & PRICE:MODEL:DEFAULT:B&P - SELECT A MODEL';
            CallSDotTL(s , true , 'BUILD & PRICE:MODEL:BACKWARD:BACK LINK' , 'o');
            break;
        case 'bnp_trims_accordioncolors':
            s.prop26 = 'MODEL';
            s.prop27 = 'FORWARD';
            s.prop37 = 'BUILD & PRICE:FORWARD:DEFAULT:B&P - SELECT A MODEL';
            CallSDotTL(s , true , 'BUILD & PRICE:MODEL:FORWARD:NEXT:COLORS LINK' , 'o');
            break;
        case 'raq_trims_accordioncolors':
            s.prop26 = 'VEHICLE';
            s.prop27 = 'FORWARD';
            s.prop37 = 'RAQ:VEHICLE:HELP:RAQ - HELP ME SELECT A TRIM';
            CallSDotTL(s , true , 'RAQ:VEHICLE:FORWARD:NEXT:SELECT COLORS LINK' , 'o');
            break;

            

    }

}


//GENERAL
function calcMsrp(msrp, dhCost){
    var cleanMsrp = parseFloat(msrp.replace("$", "").replace(",", ""));
    var cleanDh = parseFloat(dhCost.replace("$", "").replace(",", ""));
    var sumStr = (cleanMsrp + cleanDh).toFixed(2).toString();
    var indexOfComma = sumStr.length - 6; //instead of sub-stringing forward 2 I'm working my way back from the hundredths place, in the off-chance the MSRP's over $100,000.00
    return "$" + sumStr.substr(0, indexOfComma) + "," + sumStr.substr(indexOfComma);
}

function removeDecimal(price){
    //return price.toString().replace(".00", "");
    var numStr = Math.round(parseFloat(price.replace("$", "").replace(",", ""))).toString();
    var indexOfComma = numStr.length - 3;
    if (numStr.length > 3){
        return "$" + numStr.substr(0, indexOfComma) + "," + numStr.substr(indexOfComma);
    }else{
        return "$" + numStr;
    }
}

// Process tracking information from querystring and page variables
function ProcessTrackingInformation(s) {

    var sModelName = $.getQueryString({id:"ModelName"});
    var sModelYear = $.getQueryString({id:"ModelYear"});
    var sModelID = $.getQueryString({id:"ModelID"});
    var sSelected = $.getQueryString({id:"Selected"});
    var sExtColor = $.getQueryString({id:"EColor"});
    var sIntColor = $.getQueryString({id:"IColor"});

    if (sModelName != 'null') {

        // Model    
        if (typeof(trimList) != 'undefined') {
            s.prop1 = trimList[0][3].toUpperCase();
        }

        // Year
        var sModelYear = sModelYear;
        if (sModelYear != 'null') {
            s.prop2 = sModelYear;
        }

        // Product
        if (s.prop1) {
            s.products = GetModelProductType(s.prop1) + ':' + s.prop1;
        }

    }

    if (sModelID != 'null') {

        // Transmission and trim name
        if (typeof(modelList) != 'undefined') {
            var stTransmissionName = modelList[0][4].toUpperCase();
            var stWheelDrive = '';
            
            stTransmissionName = ExtractTransmissionInfo(stTransmissionName , stWheelDrive);
            stWheelDrive = stTransmissionName.split('|')[1];
            stTransmissionName = stTransmissionName.split('|')[0];            

            s.prop5 = stWheelDrive + trimList[0][0].toUpperCase();
            s.prop33 = stTransmissionName;
        }
        
    }
            
    if ( (sExtColor != 'null') && (sIntColor != 'null') ) {

        if ( (typeof(exColorList) != 'undefined') && (typeof(inColorList) != 'undefined') ) {
            var stExteriorColorName = '';
            var stInteriorColorName = '';

            for (var iCount = 0; iCount< exColorList.length; iCount++) {
                if (exColorList[iCount][6] == $.getQueryString({id:"EColor"})) {
                    stExteriorColorName = exColorList[iCount][0].toUpperCase();
                }
            }
            for (var iCount = 0; iCount< inColorList.length; iCount++) {
                if (inColorList[iCount][1] == $.getQueryString({id:"IColor"})) {
                    stInteriorColorName = inColorList[iCount][0].toUpperCase();
                }
            }

            s.prop3 = stExteriorColorName;
            s.prop4 = stInteriorColorName;
        }
    }
            
    if (sSelected != 'null') {
        sSelected = sSelected.replace(/,/g , ':');
        if (sSelected != 'null') {
            s.prop7 = sSelected;
            s.prop6 = sSelected.split(':').length;
        }
    }

    return s;

}

// This function is being broken out so that it can be used by other functions.
// It returns a pipe delimited list of values since it has to return 2 pieces of information.
function ExtractTransmissionInfo(stTransmissionName , stWheelDrive) {

    if (stTransmissionName.indexOf('2WD') >= 0) {
        stWheelDrive = '2WD ';
        stTransmissionName = stTransmissionName.replace(/2WD/ , '');
    }
    if (stTransmissionName.indexOf('4WD') >= 0) {
        stWheelDrive = '4WD ';
        stTransmissionName = stTransmissionName.replace(/4WD/ , '');
    }
    
    return stTransmissionName + "|" + stWheelDrive;

}

// This is a generic function used to track click events through the build and price tool
function TrackBNPClick(s , sLinkName , prop26 , prop27 , sAdditionalLinkTrackVars , sLinkType) {

    if (sAdditionalLinkTrackVars != '') {
        sAdditionalLinkTrackVars = ',' + sAdditionalLinkTrackVars;
    }
    
    if (!sLinkType) {
        sLinkType = 'o'
    }

    s.linkTrackVars = 'prop26,prop27,prop37,eVar26,eVar27' + sAdditionalLinkTrackVars;
    s.prop26 = prop26;
    s.prop27 = prop27;
    CallSDotTL(s , true , sLinkName , sLinkType);

}

function ShowCurrentOffer(modelName, modelYear, modelId, trimName, offerID){
    modelId = (modelId == null) ? "" : modelId;
    trimName = (trimName == null) ? "" : trimName;
    if ( typeof(tb_show) === 'function') {
        tb_show("" , "/tools/current-offers-pop-up.aspx?modelName=" + modelName + "&modelYear=" + modelYear + "&modelId=" + modelId + "&trimName=" + trimName + "&offerID=" + offerID + "&width=740&height=550&modal=true&TB_iframe=true", "");
    } else {
        window.open("/tools/current-offers-pop-up.aspx?modelName=" + modelName + "&modelYear=" + modelYear + "&modelId=" + modelId + "&trimName=" + trimName + "&offerID=" + offerID,"Current_Offers","menubar=no,width=740,height=550,toolbar=no");
    }
}


/*
 * Thickbox 3.1 - One Box To Rule Them All.
 * By Cody Lindley (http://www.codylindley.com)
 * Copyright (c) 2007 cody lindley
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
*/
		  
var tb_pathToImage = "/images/loading.gif";

/*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/

//on page load call tb_init
$(document).ready(function(){   
	tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
	imgLoader = new Image();// preload image
	imgLoader.src = tb_pathToImage;
});

//add thickbox to href & area elements that have a class of .thickbox
function tb_init(domChunk){
	$(domChunk).click(function(){
	var t = this.title || this.name || null;
	var a = this.href || this.alt;
	var g = this.rel || false;
	tb_show(t,a,g);
	this.blur();
	return false;
	});
}

function tb_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link

	try {
		if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
			$("body","html").css({height: "100%", width: "100%"});
			$("html").css("overflow","hidden");
			if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
				$("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
				$("#TB_overlay").click(tb_remove);
			}
		}else{//all others
			if(document.getElementById("TB_overlay") === null){
				$("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");
				$("#TB_overlay").click(tb_remove);
			}
		}
		
		if(tb_detectMacXFF()){
			$("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
		}else{
			$("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
		}
		
		if(caption===null){caption="";}
		$("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
		$('#TB_load').show();//show loader
		
		var baseURL;
	   if(url.indexOf("?")!==-1){ //ff there is a query string involved
			baseURL = url.substr(0, url.indexOf("?"));
	   }else{ 
	   		baseURL = url;
	   }
	   
	   var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;
	   var urlType = baseURL.toLowerCase().match(urlString);

		if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images
				
			TB_PrevCaption = "";
			TB_PrevURL = "";
			TB_PrevHTML = "";
			TB_NextCaption = "";
			TB_NextURL = "";
			TB_NextHTML = "";
			TB_imageCount = "";
			TB_FoundURL = false;
			if(imageGroup){
				TB_TempArray = $("a[@rel="+imageGroup+"]").get();
				for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) {
					var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
						if (!(TB_TempArray[TB_Counter].href == url)) {						
							if (TB_FoundURL) {
								TB_NextCaption = TB_TempArray[TB_Counter].title;
								TB_NextURL = TB_TempArray[TB_Counter].href;
								TB_NextHTML = "<span id='TB_next'>&nbsp;&nbsp;<a href='#'>Next &gt;</a></span>";
							} else {
								TB_PrevCaption = TB_TempArray[TB_Counter].title;
								TB_PrevURL = TB_TempArray[TB_Counter].href;
								TB_PrevHTML = "<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>&lt; Prev</a></span>";
							}
						} else {
							TB_FoundURL = true;
							TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length);											
						}
				}
			}

			imgPreloader = new Image();
			imgPreloader.onload = function(){		
			imgPreloader.onload = null;
				
			// Resizing large images - orginal by Christian Montoya edited by me.
			var pagesize = tb_getPageSize();
			var x = pagesize[0] - 150;
			var y = pagesize[1] - 150;
			var imageWidth = imgPreloader.width;
			var imageHeight = imgPreloader.height;
			if (imageWidth > x) {
				imageHeight = imageHeight * (x / imageWidth); 
				imageWidth = x; 
				if (imageHeight > y) { 
					imageWidth = imageWidth * (y / imageHeight); 
					imageHeight = y; 
				}
			} else if (imageHeight > y) { 
				imageWidth = imageWidth * (y / imageHeight); 
				imageHeight = y; 
				if (imageWidth > x) { 
					imageHeight = imageHeight * (x / imageWidth); 
					imageWidth = x;
				}
			}
			// End Resizing
			
			TB_WIDTH = imageWidth + 30;
			TB_HEIGHT = imageHeight + 60;
			$("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a></div>"); 		
			
			$("#TB_closeWindowButton").click(tb_remove);
			
			if (!(TB_PrevHTML === "")) {
				function goPrev(){
					if($(document).unbind("click",goPrev)){$(document).unbind("click",goPrev);}
					$("#TB_window").remove();
					$("body").append("<div id='TB_window'></div>");
					tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);
					return false;	
				}
				$("#TB_prev").click(goPrev);
			}
			
			if (!(TB_NextHTML === "")) {		
				function goNext(){
					$("#TB_window").remove();
					$("body").append("<div id='TB_window'></div>");
					tb_show(TB_NextCaption, TB_NextURL, imageGroup);				
					return false;	
				}
				$("#TB_next").click(goNext);
				
			}

			document.onkeydown = function(e){ 	
				if (e == null) { // ie
					keycode = event.keyCode;
				} else { // mozilla
					keycode = e.which;
				}
				if(keycode == 27){ // close
					tb_remove();
				} else if(keycode == 190){ // display previous image
					if(!(TB_NextHTML == "")){
						document.onkeydown = "";
						goNext();
					}
				} else if(keycode == 188){ // display next image
					if(!(TB_PrevHTML == "")){
						document.onkeydown = "";
						goPrev();
					}
				}	
			};
			
			tb_position();
			$("#TB_load").remove();
			$("#TB_ImageOff").click(tb_remove);
			$("#TB_window").css({display:"block"}); //for safari using css instead of show
			};
			
			imgPreloader.src = url;
		}else{//code to show html
			
			var queryString = url.replace(/^[^\?]+\??/,'');
			var params = tb_parseQuery( queryString );

			TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no paramaters were added to URL
			TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no paramaters were added to URL
			ajaxContentW = TB_WIDTH - 30;
			ajaxContentH = TB_HEIGHT - 45;
			
			if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window		
					urlNoQuery = url.split('TB_');
					$("#TB_iframeContent").remove();
					if(params['modal'] != "true"){//iframe no modal
						$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a></div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' > </iframe>");
					}else{//iframe modal
					$("#TB_overlay").unbind();
						$("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;'> </iframe>");
					}
			}else{// not an iframe, ajax
					if($("#TB_window").css("display") != "block"){
						if(params['modal'] != "true"){//ajax no modal
						$("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a></div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
						}else{//ajax modal
						$("#TB_overlay").unbind();
						$("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");	
						}
					}else{//this means the window is already up, we are just loading new content via ajax
						$("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
						$("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
						$("#TB_ajaxContent")[0].scrollTop = 0;
						$("#TB_ajaxWindowTitle").html(caption);
					}
			}
					
			$("#TB_closeWindowButton").click(tb_remove);
			
				if(url.indexOf('TB_inline') != -1){	
					$("#TB_ajaxContent").append($('#' + params['inlineId']).children());
					$("#TB_window").unload(function () {
						$('#' + params['inlineId']).append( $("#TB_ajaxContent").children() ); // move elements back when you're finished
					});
					tb_position();
					$("#TB_load").remove();
					$("#TB_window").css({display:"block"}); 
				}else if(url.indexOf('TB_iframe') != -1){
					tb_position();
					if($.browser.safari){//safari needs help because it will not fire iframe onload
						$("#TB_load").remove();
						$("#TB_window").css({display:"block"});
					}
				}else{
					$("#TB_ajaxContent").load(url += "&random=" + (new Date().getTime()),function(){//to do a post change this load method
						tb_position();
						$("#TB_load").remove();
						tb_init("#TB_ajaxContent a.thickbox");
						$("#TB_window").css({display:"block"});
					});
				}
			
		}

		if(!params['modal']){
			document.onkeyup = function(e){ 	
				if (e == null) { // ie
					keycode = event.keyCode;
				} else { // mozilla
					keycode = e.which;
				}
				if(keycode == 27){ // close
					tb_remove();
				}	
			};
		}
		
	} catch(e) {
		//nothing here
	}
}

//helper functions below
function tb_showIframe(){
	$("#TB_load").remove();
	$("#TB_window").css({display:"block"});
}

function tb_remove() {
 	$("#TB_imageOff").unbind("click");
	$("#TB_closeWindowButton").unbind("click");
	$("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});
	$("#TB_load").remove();
	if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
		$("body","html").css({height: "auto", width: "auto"});
		$("html").css("overflow","");
	}
	document.onkeydown = "";
	document.onkeyup = "";
	return false;
}

function tb_position() {
$("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
	if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
		$("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
	}
}

function tb_parseQuery ( query ) {
   var Params = {};
   if ( ! query ) {return Params;}// return empty object
   var Pairs = query.split(/[;&]/);
   for ( var i = 0; i < Pairs.length; i++ ) {
      var KeyVal = Pairs[i].split('=');
      if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
      var key = unescape( KeyVal[0] );
      var val = unescape( KeyVal[1] );
      val = val.replace(/\+/g, ' ');
      Params[key] = val;
   }
   return Params;
}

function tb_getPageSize(){
	var de = document.documentElement;
	var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
	var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
	arrayPageSize = [w,h];
	return arrayPageSize;
}

function tb_detectMacXFF() {
  var userAgent = navigator.userAgent.toLowerCase();
  if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
    return true;
  }
}





function FixPNG(){var sAppVersion=navigator.appVersion;if(sAppVersion.indexOf('MSIE')>0){var sVersion=parseFloat(sAppVersion.split('MSIE')[1]);if(sVersion>=7){return;}}else{return;}
var aItems=document.getElementsByTagName('*');for(var iCount=0;iCount<aItems.length;iCount++){var oImg=aItems[iCount];if((oImg.src)&&(oImg.src.toLowerCase().indexOf('.png')>0)){var prevStyle='';var strNewHTML='';var imgID=(oImg.id)?'id="'+oImg.id+'" ':'';var imgClass=(oImg.className)?'class="'+oImg.className+'" ':'';var imgTitle=(oImg.title)?'title="'+oImg.title+'" ':'';var imgAlt=(oImg.alt)?'alt="'+oImg.alt+'" ':'';var imgAlign=(oImg.align)?'float:'+oImg.align+';':'';var imgHand=(oImg.href)?'cursor:hand;':'';var imgStyle='display:inline-block;'+oImg.style.cssText;if(oImg.style.border){prevStyle+='border:'+oImg.style.border+';';oImg.style.border='';}
if(oImg.style.padding){prevStyle+='padding:'+oImg.style.padding+';';oImg.style.padding='';}
if(oImg.style.margin){prevStyle+='margin:'+oImg.style.margin+';';oImg.style.margin='';}
var imgStyle=(oImg.style.cssText);var strNewHTML='<span '+imgID+imgClass+imgTitle+imgAlt;strNewHTML+='style="position:relative;white-space:pre-line;display:inline-block;background:transparent;'+imgAlign+imgHand;strNewHTML+='width:'+oImg.width+'px;'+'height:'+oImg.height+'px;';strNewHTML+='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader'+'(src=\''+oImg.src+'\', sizingMethod=\'scale\');';strNewHTML+=imgStyle+'"></span>';if(prevStyle!=''){strNewHTML='<span style="position:relative;display:inline-block;'+prevStyle+imgHand+'width:'+oImg.width+'px;'+'height:'+oImg.height+'px;'+'">'+strNewHTML+'</span>';}
oImg.outerHTML=strNewHTML;}}
try{var CSSRules;for(var i=0;i<document.styleSheets.length;i++){(document.styleSheets[0].cssRules)?CSSRules='cssRules':CSSRules='rules';for(var j=0;j<document.styleSheets[i][CSSRules].length;j++){if((document.styleSheets[i][CSSRules][j].style['backgroundImage'])&&(document.styleSheets[i][CSSRules][j].style['backgroundImage']!='')&&(document.styleSheets[i][CSSRules][j].style['backgroundImage']!='none')&&(document.styleSheets[i][CSSRules][j].style['backgroundImage'].toLowerCase().indexOf('.png')>0)&&(!document.styleSheets[i][CSSRules][j].style['progid'])){var sOriginalBG=document.styleSheets[i][CSSRules][j].style['backgroundImage'];sOriginalBG=sOriginalBG.replace('url(','');sOriginalBG=sOriginalBG.replace(')','');}}}}catch(err){}
var aItems=document.getElementsByTagName('*');for(var iCount=0;iCount<aItems.length;iCount++){var oItem=aItems[iCount];if(oItem.style.backgroundImage){if(oItem.style.backgroundImage.toLowerCase().indexOf('.png')>0){var sOriginalBG=oItem.style.backgroundImage;sOriginalBG=sOriginalBG.replace('url(','');sOriginalBG=sOriginalBG.replace(')','');document.getElementById(oItem.id).style.backgroundImage='none';document.getElementById(oItem.id).runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+sOriginalBG+"',sizingMethod='scale')";}}}}

